count函数
使用count函数返回值为生成的一个新的data.frame,左边那列为要统计的对象,右边为该对象的个数,且第二列列名为n
count后面跟一个数据框,代表的是数据框行数
count(flights)
planes%>%
count(tailnum)
image.png
count 排序,默认为从小到大排序
planes%>%
count(tailnum,sort = T)
count 之后筛选
planes%>%
count(tailnum)%>%
filter(n>1)
image.png
count 统计多列文件
flights%>%
count(year,month,day)
image.png
多个条件下的count等价于group_by之后count
flights%>%
group_by(year,month,day)%>%
count()
image.png
合并连接
主要适用于两个数据框之间的拼接
常用的函数 left_join和inner_join
用法均是: x %>%inner_join/left_join(y,by=)
内连接: inner_join by 参数后面为键
image.png image.png image.png必须保证要合并的两个数据框键的名字是一样的,否则就会出错
x %>%
inner_join(y, by = "key")
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"))
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相同的行
重要的是存在匹配,匹配到哪一行不重要
image.png image.pnganti_join(x,y,by) 在指定的键中,只会保留x中与y不相同的行,即代表把相同的行去掉,保留x中与y键不同的行
image.png连接flights和planes时,查看flights中有多少行在planes中有记录,用count更快
flights%>%
semi_join(planes,by="tailnum")%>%
nrow()
#######
flights%>%
semi_join(planes,by="tailnum")%>%
count()
image.png
连接flights和planes时,查看flights中有多少行在planes中没有记录
flights%>%
anti_join(planes,by="tailnum")%>%
nrow()
flights%>%
anti_join(planes,by="tailnum")%>%
count()
image.png
网友评论