R包——dplyr
一、五个基础函数
1、mutate()
mutate(test,new = Sepal.Length * Sepal.Width)#新增一个列名为“new”的、值为“Sepal.Length”乘以“Sepal.Width”的列
2、select()
select(test,2)#第二列
select(test,c(1,5))#第一和第五列
select(test,Sepal.Length)#名为“Sepal.Length”的列
select(test,Petal.Length,Petal.Width)#名为“Petal.Length”“Petal.Width”的列
vars <- c("Petal.Length","Petal.Width")
select(test,one_of(vars))#名为“Petal.Length”“Petal.Width”的列
3、filter()
filter(test,Species == "setosa")#筛选Species列中为setosa的行
filter(test,Species == "setosa"&Sepal.Length>5)#筛选Species列中为setosa且Sepal.Length大于五的行
filter(test,Species == "setosa"|Sepal.Length<6)#或
filter(test,Species %in% c("setosa","versicolor"))#筛选Species列中为setosa和versicolor的行
4、arrange()
arrange(test,Sepal.Length)#从小到大
arrange(test,desc(Sepal.Length))#从大到小
5、summarise()
group_by(test,Species)#按Species分组
summarise(test,mean(Sepal.Length),sd(Sepal.Length))#计算Sepal.Length的平均值及标准差
summarise(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Length))#先按species分组,再计算平均值及标准差
mean() sd()为函数summarise()内嵌公式
二、实用技能
1、来自dplyr包的管道函数:%>%
(快捷键:Ctrl + shift +M)
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length),sd(Sepal.Length))
%>%
有点类似于一个传递值的管道
2、统计某列里每个值的频数:count
count(test,Sepal.Length)
三、处理关系数据(x为两组数据都存在的列)
left_join(test1,test2,by = "x")#以test1为基准,连接
left_join(test2,test1,by = "x")
full_join(test1,test2,by ="x")#全连上
semi_join(x = test1,y = test2,by = "x")#返回x表中符合y表的值
anti_join(x = test2,y = test1,by = "x")#返回y表中不符合x表的值
bind_rows(test1,test2)#简单合并行
bind_cols(test1,test2)#简单合并列