生信星球培训第三十五期

Day6-🌑

2020-01-29  本文已影响0人  bosio1228

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)#简单合并列
上一篇 下一篇

猜你喜欢

热点阅读