一、安装和加载R
镜像安装
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
二、认识dplyr包
(1)mutate() 新增列
(2)select() 选择函数
select(test,Sepal.Length)
vars <- c("Petal.Length", "Petal.Width")
select(test, one_of(vars)) #从test里面选择vars列(vars 变量名字)
(3)filter过滤函数
filter(test, Species == "setosa")
filter(test, Species == "setosa"&Sepal.Length > 5 )
filter(test, Species %in% c("setosa","versicolor"))
(4)arrange()
arrange(test, Sepal.Length) #按照Sepal.Length升序排序
arrange(test, desc(Sepal.Length)) #按照Sepal.Length降序排序
(5) summarise() 合并
summarise(test, mean(Sepal.Length), sd(Sepal.Length))#计算均值和标准差
group_by(test, Species) #根据test中speices进行分组操作
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) #根据物种分组,计算各组内Sepal.Length列的均值和标准差
实用技能:
管道操作%>% (加载任意一个tidyverse包即可用管道符号) (cmd/ctr + shift + M)
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
count(test,Species) #统计某列unique值
dplyr处理关系数据网
test1 <- data.frame(x = c('b','e','f','x'),
z = c("A","B","C",'D'))
test2 <- data.frame(x = c('a','b','c','d','e','f'),
y = c(1,2,3,4,5,6))
(1)
inner_join(test1, test2, by = "x") #取交集
(2)左连Left_join
(3) 全连接
(4)半连接:返回能够与y表匹配的x表所有记录semi_join (不显示y表内容了)
semi_join(x = test1, y = test2, by = 'x')
(5)反连接:返回无法与y表匹配的x表的所记录anti_join
(6)简单合并
合并行需要相同列,合并列需要相同行
base包里的cbind()函数和rbind()函数
感谢花花老师的代码