R 数据科学(十四)

作者: 一路向前_莫问前程_前程似锦 | 来源:发表于2018-09-04 22:24 被阅读13次

    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)

    相关文章

      网友评论

        本文标题:R 数据科学(十四)

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