1、读取Excel:
有几种方法:
对于csv文件:1)R基础包中自带的read.csv()函数;2)readr包中的read_csv()函数。二者的区别在于:read.csv()是生成data.frame,read_csv()是生成tibble
对于excel文件:1)可以先将excel转为csv,然后用上述方法;2)可以使用readxl包中的read_excel()函数;
2、加载包:
library(包名)。注意,包名没有引号。
3、查看数据框的基本信息:
str() 函数可以用来查看数据框中都有哪些变量以及变量的形式;
summary()函数来显示dataframe的描述性统计量。summary()函数可以提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计等。
4、R的基本作图:
散点图:ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = class))
曲线图:ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))
条形图(用于分类变量):ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut))
直方图(用于连续变量):ggplot(data = diamonds) + geom_histogram(mapping = aes(x = carat), binwidth = 0.5)
箱线图:ggplot(data = diamonds, mapping = aes(x = cut, y = price)) + geom_boxplot()
分面:
要想通过单个变量对图进行分面,可以使用函数 facet_wrap()。其第一个参数是一个公 式,创建公式的方式是在 ~ 符号后面加一个变量名(这里所说的“公式”是 R 中的一种数 据结构,不是数学意义上的公式)。传递给 facet_wrap() 的变量应该是离散型的。
ggplot(data = mpg) +geom_point(mapping = aes(x = displ, y = hwy)) + facet_wrap(~ class, nrow = 2)
要想通过两个变量对图进行分面,需要在绘图命令中加入函数 facet_grid()。这个函数的 第一个参数也是一个公式,但该公式包含由 ~ 隔开的两个变量名
ggplot(data = mpg) +geom_point(mapping = aes(x = displ, y = hwy)) + facet_grid(drv ~ cyl)
5、数据处理与转换:
* 按值筛选观测(filter())。
* 对行进行重新排序(arrange())。缺失值总是排在最后。如果要倒序,可以使用desc()函数
* 按名称选取变量(select())。
* 使用现有变量的函数创建新变量(mutate())。如果只想保留新变量,可以使用 transmute() 函数。
* 将多个值总结为一个摘要统计量(summarize())
这些函数都可以和 group_by() 函数联合起来使用,group_by() 函数可以改变以上每个函数的作用范围,让其从在整个数据集上操作变为在每个分组上分别操作。这 6 个函数构成了数据处理语言的基本操作。
前面 5 个函数的工作方式都是相同的。
1. 第一个参数是一个数据框。
2. 随后的参数使用变量名称(不带引号)描述了在数据框上进行的操作。
3. 输出结果是一个新数据框。
可以在 select () 函数中使用一些辅助函数:
* starts_with("abc"):匹配以“abc”开头的名称。
* ends_with("xyz"):匹配以“xyz”结尾的名称。
* contains("ijk"):匹配包含“ijk”的名称。
* matches("(.)\\1"):选择匹配正则表达式的那些变量。这个正则表达式会匹配名称中有重复字符的变量。
* num_range("x", 1:3):匹配 x1、x2 和 x3。
我们可以使用rename()函数来重命名变量(列名)。
6、模型
lm()是用来适应线性模型的。它可用于进行回归、单层分析方差分析和协方差分析。
sim1_mod <- lm(y ~ x, data = sim1)
可以使用modelr::add_predictions()添加预测值。其参数是一个数据框和一个模型:
grid <- grid %>% add_predictions(sim1_mod)
可以使用modelr::add_residuals()添加残差。注意,残差的平均值总是为 0。
loess()函数来拟合一条平滑曲线。
网友评论