一、链式操作符%>%
两个百分号中间夹一个大于号,称为链式操作符。它的功能是用于实现将一个函数的输出传递给下一个函数,作为下一个函数的输入。
在Rstudio中可以使用ctrl+shift+M快捷键输入出来。
- eg.1.head(mtcars,20) #取出mtcars的前二十行
head(mtcars,20) %>% tail(10) #取出mtcars前二十行的后十行,即11-20行。 - eg.2.
iris %>% group_by(Species)
iris %>% group_by(Species) %>% summarise()
iris %>% group_by(Species) %>% summarise(avg=mean(Sepal.Width))
iris %>% group_by(Species) %>% summarise(avg=mean(Sepal.Width)) %>% arrange(avg)
对iris数据进行分析
通过Species分类➡️ 对分类进行统计➡️ 统计每一类的Sepal.Width平均值➡️ 对上一步得到的平均值从小到大排序。
二、R函数
- lm(x~y)可以用来进行大量的回归分析。注意,此命令只能用于数据框格式,如果不是,可以转化为数据框格式。
eg.state.x77数据为例,首先用class(state.x77)查看数据类型,不是数据框模式,使用as.data.frame()转化为数据框,再进行lm()分析,最后用summary()查看结果。
state < - as.data.frame(state.x77[,c("Murder" ,"Population","Illiteracy","Income","Frost" )])
fit <- lm (Murder ~ Population+Illiteracy+Income+Frost,data=state)
summary(fit)
其中pr(t)后面带有*,说明该变量通过t检验,含义是x对y的影响显著。
- ls()列出当前环境中R的对象。
- Sys.Date()返回当前系统时间。
- rm()删除变量。
- 输入数据类型必须是向量:sum, mean, sd, range, median, sort, oder
- 输入数据类型可以是向量或数据框:cbind, rbind
- 输入数据类型必须是数据矩阵:heatmap
三、数据结构
R存储数据的对象类型包括标量、向量、矩阵、数组、数据框和列表。查看一个数据的类型,使用class()命令。
一些定义:
- 对象(objec)指可以赋值给变量的任何事物。包括常量、数据结构、函数,甚至图形。
- 数据框(data frame)是R中用于存储数据的一种结构:列表表示变量,行表示观测。在同一个数据框中可以存储不同类型(如数值型、字符型)的变量。每一列为同一种模式的数据,不同列数据可以不同。data.frame(列1,列2,列3)
- 因子(factor)是名义型变量或有序型变量。在R中被特殊地储存和处理。
- 向量是用于储存数值型、字符型或逻辑型数据的一维数据。执行组合功能的函数c()可用来创建向量。
- 矩阵是一个二维数组,只是每个元素都有相同的模式(数值型、字符型或逻辑型)。可通过matrix()来创建矩阵。
- 数组(array)与矩阵类似,但纬度可以大于2。数组可以通过array函数创建。myarray < - array(vector, dimensions, dimnames)
dim1 < - c('A1','A2') dim2 < - c('B1','B2' 'B3') dim3 < - c('C1','C2','C3','C4') x < - array(1:24, c(2:4), dimnames=list(dim1,dim2,dim3)
- 列表(list):列表就是R的数据类型中最复杂的一种。一般来说,列表就是一些对象的有序集合。mylist < - list(object1, object2, object3)
四、保存数据
- 当save(X,file="test.RData")报错object X not found,可以先查看左上的Environment,看是否有X变量。注意大小写,有可能是将内容赋值给了其他变量(如x),找到并保存。也许最开始就忘记将读入数据赋值给变量,那就重新赋值一下,保存。