学习小组Day6-ZHX

作者: 周ZHX | 来源:发表于2020-10-03 11:10 被阅读0次

dplyr包

数据集:iris

安装、加载包及常用功能

options("repo"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(Bioc_mirror="https://mirrors.ustc.edu.cn/bioc/")
install.packages("dplyr")
library(dplyr)
test <- iris[c(1:2,51:52,101:102),]

#新增列
mutate(test,new=Sepal.Length*Sepal.Width)
#筛选
##select,按列筛选
select(test,1)
select(test,c(1,5))
select(test,Sepal.Length)
select(test,Petal.Length,Petal.Width)
vars <- c("Petal.Length","Petal.Width")
select(test,one_of(vars)) #one_of()根据名称选择变量
##filter,按行筛选
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))   ##desc从大到小
#summarise()汇总
summarise(test,mean(Sepal.Length),sd(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))
#count统计某列的unique值
count(test,Species)

#处理关系数据,连接两个表
options(stringsAsFactors = F)
test1 <- data.frame(x=c("b","e","f","x"),
                    z=c("A","B","c","D"),
                    stringsAsFactors = F)
test1
   x z
1 b A
2 e B
3 f c
4 x D
test2 <- data.frame(x=c("a","b","c","d","e","f"),
+                     y=c(1,2,3,4,5,6),
+                     stringsAsFactors = F)
test2
   x y
1 a 1
2 b 2
3 c 3
4 d 4
5 e 5
6 f 6
##两个数据框取交集后合并
inner_join(test1,test2)
Joining, by = "x"
   x z y
1 b A 2
2 e B 5
3 f C 6
##以左边数据某列为准连接
left_join(test1,test2,by="x")
   x z  y
1 b A  2
2 e B  5
3 f C  6
4 x D NA
left_join(test2,test1,by="x")
   x y    z
1 a 1 <NA>
2 b 2    A
3 c 3 <NA>
4 d 4 <NA>
5 e 5    B
6 f 6    C
##以某列数据在两个数据框的所有数据为准连接数据库
full_join(test1,test2,by="x")
   x    z  y
1 b    A  2
2 e    B  5
3 f    C  6
4 x    D NA
5 a <NA>  1
6 c <NA>  3
7 d <NA>  4
##半连接:返回能够与y表匹配的x表所有记录
semi_join(x=test1,y=test2,by="x")
   x z
1 b A
2 e B
3 f C
##反连接:返回与y表无法匹配的x表数据
anti_join(x=test2,y=test1,by="x")
   x y
1 a 1
2 c 3
3 d 4
#简单合并,类似cbind和rbind
#bind_rows(),列数相同
#bind_cols(),行数相同

相关文章

  • 学习小组Day6-ZHX

    dplyr包 数据集:iris 安装、加载包及常用功能

  • 课改过程中如何培训学习小组

    课改过程中如何培训,学习小组? 答:学习小组培训包括学习小组组长职责培训和学习小组成员职责培训两个方面。 ...

  • U.Lab 0x 2016-09-24

    参与伙伴: 19:45 开始 Checkin 启动 本次学习小组的目标-为什么参加学习小组 回顾上次学习小组的视频...

  • 小组学习

    02先能管住课堂纪律,再谈教学方法。对课堂规则、作业要求做不到不要说,说到就要执行到位;先解决学生想学问题,再教他...

  • 学习小组

    从期中考试复习开始,每日都会布置班级学习任务,各个科目都要复习。比如英语课文背诵,单词默写,语文课文背诵,语文默写...

  • 学习小组

    青春期的娃不好搞,若心存控制、期待、不满,那就更糟糕了。亲子双方都像整装待发的斗士,战争蓄势待发,更让人郁闷的是战...

  • 学习小组

    假期,动儿参加了二个学习小组,一个跟宋同学组合,另一个跟杨同学组合。昨天是动儿跟杨同学组合的第一天。 今天。 动儿...

  • 学习小组

    在这个寒假学校为我们安排了学习小组。让我们一起监督学习并完成寒假作业。我和我的组员们。来到了一家奶茶店。带...

  • 小组学习

    初三开学了,从初八开始上课。我一共有十二节课。 初九第一次上课,把寒假作业打卡奖发了一部分,还有优秀和五天作业奖没...

  • 小组学习

    刚开始,老师把我们几个人叫到一起,我们一起创建了一个学习小组,然后老师给我们建了一个QQ群,命名为“寻找春天”,我...

网友评论

    本文标题:学习小组Day6-ZHX

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