1.安装加载包
ptions("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))#不设置镜像会在原镜像里下载包
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")#生信的包用中科院的镜像下载
install.packages("dplyr")
library(dplyr)
available.packages()#可以查看在当前获得的包
2.dplyr包
dplyr包介绍内容.png
mutate(test, new = Sepal.Length * Sepal.Width)#mutate()增加新列,可以一次性添加多个列
select(test,1)#按照列号列名筛选
select(test,c(1,5))
select(test,1,5)
select(test,Sepal.Length)
select(test,Sepal.Length,Species)
filter(test, Species == "setosa")#对符合条件(Species列的值等于setosa)的行进行筛选
filter(test, Species == "setosa"&Sepal.Length > 5 )
filter(test, Species =="setosa",Sepal.Length>5)#这里,相当于且
filter(test, Species %in% c("setosa","versicolor"))
#mutate(),select(),filter(),arrange(),group_by都可以输入多个对象
arrange(test, Sepal.Length)#默认从小到大排序,按照Sepal.Length排序
arrange(test, desc(Sepal.Length))#用desc从大到小
arrange(test,Sepal.Length,Sepal.Width)#先按照S.L排序,在按S.W排序
summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
group_by(test, Species)#可对数据框的分类变量进行分组
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))#与上面group_by()+summarise()组合代码是一样的结果,只不过是不用规定数据集了
count(test,Species)#按照Species的分类分别对不同分类进行计数
test1 <- data.frame(x = c('b','e','f','x'),
z = c("A","B","C",'D'),
stringsAsFactors = F)
test1
test2 <- data.frame(x = c('a','b','c','d','e','f'),
y = c(1,2,3,4,5,6),
stringsAsFactors = F)
test2
inner_join(test1, test2, by = "x")#返回test1和test2中都有的x的合并
left_join(test1, test2, by = 'x')#返回text1的所有值且把对应的test2中的值添加进去
left_join(test2, test1, by = 'x')#返回text2的所有值且把对应的test1中的值添加进去
full_join( test1, test2, by = 'x')#返回所有不重复的值
semi_join(x = test1, y = test2, by = 'x')#如果第一个数据中的值在第二个数据中出现,则仅返回第一个数据中的值
anti_join(x = test2, y = test1, by = 'x')#只有第一个数据在第二个数据中不存在,才会把第二个数据的x中的元素返回来
test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40))
test1
test2 <- data.frame(x = c(5,6), y = c(50,60))
test2
test3 <- data.frame(z = c(100,200,300,400))
test3
bind_rows(test1, test2)
rbind(test1,test2)#列数相同
bind_cols(test1, test3)
cbind(test1,test3)#行数相同
网友评论