dplyr中必须掌握的几大函数
筛选行 filter
筛选列 select 只有select函数存在含有 “starts_with”,end_with等函数
排序 arrange 倒叙排列加上desc函数
去重函数 distinct
创建新变量 mutate
将多个值总结为一个摘要统计量 summarize
重点学会group_by函数
计数 count函数
统计缺失值count(is.na(列名))
统计非缺失值count(!is.na(列名))
—————————————————————————————————————
上面所有的函数均可以和group_by函数结合使用
filter函数中and 可以用逗号“,”隔开,或者使用&符号
tmp=flights%>%
filter(month==1,day==1)
tmp2=flights%>%
filter(month==1&day==1)
image.png
(tmp=flights%>%
filter(month==1,day==1))
代码外面加括号,会打印该代码
不等于 !=
3.2.4答案
1.a 到达时间延误2小时或更多的航班
tmp1=flights %>%
filter(arr_delay>=120)
1.b 飞往休斯顿(IHA机场或者HOU机场)的航班
tmp2=flights%>%
filter(dest%in%c("IAH","HOU"))
1.c 由联合航空、美利坚航空或者三角洲航空运营的航班
tmp3=flights%>%
filter(carrier %in% c("AA", "DL", "UA"))
1.d
tmp4=flights%>%
filter(month ,7,9)
between()函数 左闭右闭
tmp5=flights%>%
filter(between(month >= 7, month <= 9))
寻找缺失值(提取某一列为缺失值的所有行)
tmp5=flights%>%
filter(is.na(dep_time),is.na(dep_delay))
寻找除去缺失值剩余的所有行(提取某一列为非缺失值的所有行),逗号相当于and
not_cancel=flights%>%
filter(!is.na(dep_delay),!is.na(arr_delay))
tmp6=flights%>%
filter(!is.na(dep_time),!is.na(dep_delay))
image.png
—————————————————————————————————————
arrange 排序函数
该函数默认为从小到大排列,若变为从大到小,需要加上desc参数
tmp7=flights%>%
arrange(year)
tmp8=flights%>%
arrange(desc(year))
当然同时可以输入多个列,按照输入先后顺序进行正序或倒叙排列
tmp9=flights%>%
arrange(year,month,day)
tmp10=flights%>%
arrange(desc(year),desc(month),desc(day))
select函数表示筛选列,当筛选多列的时候中间用逗号隔开
加上负号表示反选
tmp11=flights%>%select(year,month)
tmp12=flights%>%select(-year,-month)
mutate 添加新变量,但是产生的新变量总是添加在数据集的最后
tmp13=flignts_sml%>%
mutate(gain=arr_delay-dep_delay,
speed=distance/air_time*60)
image.png
如果只想保留新变量,就可以使用transmute()函数
tmp14=flignts_sml%>%
transmute(gain=arr_delay-dep_delay,
speed=distance/air_time*60)
image.png
去重函数 distinct函数,第一个参数放置需要去重复的那一列,一般情况下结果只有那一列,加上.keep_all=T表示可以保存其他列的信息
data2=data%>%
mutate(means=sum(data[2:105])/104)%>%
arrange(desc(means))%>%
distinct(gene_name, .keep_all = T)
网友评论