学习小组day6笔记 Diana

作者: Silmarillion123 | 来源:发表于2020-05-06 15:25 被阅读0次

复试前的一天

dplyr包的使用

mutate()新增列

library(dplyr)
test <- iris[c(1:2,51:52,101:102),]
mutate(test,new1=Sepal.Length*Sepal.Width,new2)

加一列

select()

select(test,2)#按列号筛选
select(test,c(2,3,4))
select(test,Sepal.Width)#按列名筛选
vars <- c("Sepal.Width","Sepal.Length")
select(test,one_of(vars))#按列名筛选多个

选行

filter(test,Species == "setosa")
filter(test,Species=="setosa"&Sepal.Length >5)
filter(test,Species %in% c("setosa","versicolor"))

arrange() 根据一项或几项对表格进行排列

arrange(test,Sepal.Length)#从小到大
arrange(test,desc(Sepal.Length))#从大到小

summarize()

summarize(test,mean(Sepal.Length),sd(Sepal.Length))
group_by(test,Species)#根据指定一项分组
summarize(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Length))#根据分类算每组的平均数和标准差

%>%

tidyverse的管道操作

###下面是洋气的管道操作
library(tidyverse)
test %>%
  group_by(Species)%>%
  summarize(mean(Sepal.Length),sd(Sepal.Length))

count()统计某项的值

count(test,Species)###清点个数

表格的连接

内连inner_join取交集

左连

全连

半连接

反连接

简单合并

###表格的连接
test1 <- data.frame(x=c("a","b","c","d"),z=c(10,20,30,40),stringsAsFactors = FALSE)
test2 <- data.frame(x=c("c","d","e","f","g"),y=c(11,12,13,14,15),stringsAsFactors = FALSE)
inner_join(test1,test2,by="x")
left_join(test1,test2,by="x")
left_join(test2,test1,by="x")
full_join(test1,test2,by="x")
semi_join(test1,test2,by="x")
anti_join(test1,test2,by="x")
bind_rows(test1,test2)
bind_cols(test1,test2)

相关文章

网友评论

    本文标题:学习小组day6笔记 Diana

    本文链接:https://www.haomeiwen.com/subject/ttrwghtx.html