R for data science(十六)-dplyr 连接函数

count函数

使用count函数返回值为生成的一个新的data.frame,左边那列为要统计的对象,右边为该对象的个数,且第二列列名为n

count后面跟一个数据框,代表的是数据框行数

count(flights)
planes%>%
  count(tailnum)
R for data science(十六)-dplyr 连接函数_第1张图片
image.png
count 排序,默认为从小到大排序
planes%>%
  count(tailnum,sort = T)
count 之后筛选
planes%>%
  count(tailnum)%>%
  filter(n>1)
R for data science(十六)-dplyr 连接函数_第2张图片
image.png
count 统计多列文件
flights%>%
  count(year,month,day)
R for data science(十六)-dplyr 连接函数_第3张图片
image.png
多个条件下的count等价于group_by之后count
flights%>%
  group_by(year,month,day)%>%
  count()
R for data science(十六)-dplyr 连接函数_第4张图片
image.png

合并连接

主要适用于两个数据框之间的拼接

常用的函数 left_join和inner_join
用法均是: x %>%inner_join/left_join(y,by=)
内连接: inner_join by 参数后面为键
R for data science(十六)-dplyr 连接函数_第5张图片
image.png
R for data science(十六)-dplyr 连接函数_第6张图片
image.png
R for data science(十六)-dplyr 连接函数_第7张图片
image.png

必须保证要合并的两个数据框键的名字是一样的,否则就会出错

x %>% 
  inner_join(y, by = "key")
R for data science(十六)-dplyr 连接函数_第8张图片
image.png

当健的名字不一样,该怎么解决?如下:


names(x)[1]="n1"

names(y)[1]="n2"

x %>% 
  inner_join(y, by = c("n1"="n2"))
##或者省去by

x %>% 
  inner_join(y,  c("n1"="n2"))
R for data science(十六)-dplyr 连接函数_第9张图片
image.png
只要两个数据框的键是相同的就会被连接在一起
就是说只保留二者共有的键进行合并,x%>%inner_join(y,by=) 则为x在前,y在后

外链接

左连接 保留x中的所有观测 left_join 最常用
右链接 保留x中的所有观测 right_join
全连接 保留x和y中的所有观测 full_join
image.png
筛选连接
semi_join(x,y,by) 在指定的键中,只会保留x中与y相同的行
重要的是存在匹配,匹配到哪一行不重要
R for data science(十六)-dplyr 连接函数_第10张图片
image.png
R for data science(十六)-dplyr 连接函数_第11张图片
image.png
anti_join(x,y,by) 在指定的键中,只会保留x中与y不相同的行,即代表把相同的行去掉,保留x中与y键不同的行
R for data science(十六)-dplyr 连接函数_第12张图片
image.png

连接flights和planes时,查看flights中有多少行在planes中有记录,用count更快

flights%>%
  semi_join(planes,by="tailnum")%>%
  nrow()
#######
flights%>%
  semi_join(planes,by="tailnum")%>%
  count()

R for data science(十六)-dplyr 连接函数_第13张图片
image.png

连接flights和planes时,查看flights中有多少行在planes中没有记录

flights%>%
  anti_join(planes,by="tailnum")%>%
  nrow()

flights%>%
  anti_join(planes,by="tailnum")%>%
  count()

R for data science(十六)-dplyr 连接函数_第14张图片
image.png

你可能感兴趣的:(R for data science(十六)-dplyr 连接函数)