layout: true --- class: inverse, center, middle background-image: url(figures/titlepage16-9.png) background-size: cover <br> # 商业预测 ## 第一讲:R 基础 <img src="figures/qr.png" width="150px"/> #### 康雁飞 | 北航经管学院 | 数量经济与商务统计系 --- # R是什么? - R 是一个有着统计分析功能及强大作图功能的软件系统。 - R语言是世界上最广泛使用的统计编程语言。它是数据科学家的第一选择,并由一个充满活力和有才华的贡献者社区支持。 --- # R需要编程吗? 不!大多数时候不需要,因为 R 有很多函数和包,而且每天都在增加,你用的一般方法和函数都可 以在 R 自带包中找到。 --- # R 需要注册费用么? 不需要!R 是一款开源软件,只是很少一部分包不能用于商业用途。不知道为什么有些费时、费力且价格不菲的商业统计软件,居然还在生存? --- # 安装 R 和 RStudio 1. [下载和安装 R。](http://cran.r-project.org/) 2. [下载和安装 RStudio。](https://rstudio.com/) --- # R的设计 - 当你安装好 R 之后,你已经安装了一系列默认的包,比如`base`, `datasets`,`graphics`等等。 - 当你需要高大上的操作时,就需要下载并安装其他包了 (CRAN上有10,000多个来自世界各地的学者开发的用于不同用途的包)。 - 比如:运行 RStudio。在“工具”选项,点击“安装包”,并且安装 `fpp2` 包,你就安装好了本课程教材自带的 R 包。(请勾选“安装依赖包”选项)。 --- # R 中的运算 ```r 1 + 2 + 3 1 + 2 * 3 x <- 1 y <- 2 z <- c(x,y) z exp(1) cos(3.141593) 2 < 1 ``` --- # 向量 函数 `c()` 可以创建一个向量。 ```r x <- c(0.5, 0.6) ## numeric x <- c(TRUE, FALSE) ## logical x <- c(T, F) ## logical x <- c("a", "b", "c") ## character x <- 9:29 ## integer x <- c(1+0i, 2+4i) ## complex ``` --- # 矩阵 函数 `matrix()`可以创建一个矩阵。 ```r m <- matrix(c(1:6), 2, 3) attributes(m) dim(m) t(m) m[1, 2] m[1, ] n <- matrix(c(8:13), 2, 3) cbind(m, n) rbind(m, n) ``` --- # 列表 - 矩阵无法处理特殊的数据结构。 - 变量长度不同。 - 变量类型不同。 - 这时候我们需要列表。 ```r l <- list(a = c(1, 2), b = 'apple') attributes(l) ``` --- # 数据框 - 一种特殊的列表。 - 每列可以放置不同的数据类型。 - 有列名和行名。 ```r d <- data.frame(x = 1:10, y = letters[1:10]) attributes(d) names(d) row.names(d) ``` --- # R中的数据读入读出 * `read.table()`, `read.csv()` * `write.table()`, `write.csv()` --- # 寻求帮助 - R 的帮助系统非常强大,可以直接使用 `?topic` 或 `help(topic)` 来获取 `topic` 的帮助信息;也可使用 `help.search("topic")` 来搜索帮助系统。 - 如果你只知道函数的部分名称,那么可以使用 `apropos("tab")` 来搜索得到载入内存所有包含 tab 字段的函数。 - 如果还没有得到需要的资料,还有 R Site Search: http://finzi.psych.upenn.edu/search.html, 等价于在 R 平台上使用 `RSiteSearch()` 函数。 --- # 实验 1 读入并写出 [swimming_pools.csv](http://s3.amazonaws.com/assets.datacamp.com/production/course_1477/datasets/swimming_pools.csv),注意文件的第一行是列名。