这是师生共同努力的尝试,迭代进化,每天改进一点点.不经意间完成巨大的跨越. 我们关注数据科学, 我们寻找投资机会 我们研究就业岗位 我们关注资讯,我们更关注思想 世界正在加速飞奔 未来呼啸而来!

R资料包重要资料翻译----dplyr备忘录

R资料包重要资料翻译----dplyr备忘录

作者:王爱华

              链接:https://github.com/rstudio/cheatsheets/raw/master/source/pdfs/data-transformation-cheatsheet.pdf

摘要dplyr包,专门面对数据框,dplyr函数处理管道和期望整理数据,数据库中经常需要将多个表进行连接操作,如左连接、右连接、内连接等,这里dplyr包也提供了数据集的连接操作,在R基础包里有cbind()函数和rbind()函数实现按列的方向进行数据合并和按行的方向进行数据合并,而在dplyr包中也添加了类似功能的函数包。

谢谢大家,仅供同学们参考哦 。

我翻译的是数据转换与dplyr备忘单,dplyr函数处理管道和期望整理数据。在整理数据:

 

#R语言:每个变量都在它自己的列,每一个观察或情况下都在自己的行,管道函数;通过%>%将上一个函数的输出作为下一个函数的输入。

install.pachages("dplyr")

#总结数据:这些应用汇总函数中的列会产生一个新的表格,汇总函数产生向量并且输入数值和返回单一数值是有价值的.计算总结表,对每一列运行概数函数,目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框。计算,对每一列应用乐趣,乐趣适用于特定列,乐趣适用于一种类型的所有关口.

语法 :summarise(.data, ...)

    

 #分组数据:使用一个组产生一个组复制表格,dplyr函数分别将操作每一个“组”,然后合并结果。把在species中的值相同的数据组合成行,从数据框中移除组合信息,为每一个分组分别进行计算概数,按组计算新变量。

例子:


2
planes <- group_by(hflights_df, TailNum)delay <- summarise(planes,   count = n(),   dist = mean(Distance, na.rm = TRUE),   delay = mean(ArrDelay, na.rm = TRUE))delay <- filter(delay, count > 20, dist < 2000)

 

#操作情况:子集数据:行函数返回的行作为一个新表的一个子集,抽取符合逻辑条件的数据记录,删除重复记录,随机选取部分记录,通过位置选取数据记录,选取并排列前n条数据记录(若分组数据按组排序)小于,不等于,大于,组成员,等于,为缺失值,小于或等于,不为缺失值,大于或等于,Bookean运算符,安排情况,增加情况下。

例子:

     n(): 计算个数
  •   n_distinct(): 计算 x 中唯一值的个数. (原文为 count_distinct(x), 测试无用)
  •   first(x), last(x) 和 nth(x, n): 返回对应秩的值, 类似于自带函数 x[1], x[length(x)], 和 x[n]
  •  #操作变量:通过列名或帮助函数选取变量,选取操作的帮助函数,选取名称中含有字符的,选取名称以指定字符串结尾的,选取名称在指定的字符串为首的列,使新变量,计算并添加一个或多个新列,对每一列运行窗体函数,计算一个或多个新列并删除原列,利用窗体函数变换数据,输入数值向量而返回另外的数值向量,如:改变。

    例子:

    #将df2tbl数据集中的y变量放到x变量前

    select(df2tbl,y,everything())

    #筛选变量的同时,重新命名变量名

    select(df2tbl, x1 = x, y1 = y)

    例子:

    filter(hflights_df, Month == 1, DayofMonth == 1)

     #矢量化函数:把处第一个值以外的所有元素提前,最后一个元素为NA,把除最后一个值以外的元素延后,第一个元素为NA,无缝排序,排序,并列时,位置在前的并列数据序号在前,把向量分为n份,数值是否在a和b之间,累积分布,累积all函数,累积any函数,针对元素max函数,针对元素min函数,按组计算新变量。

      

     arrange(file,排序项)

    arrange(df1,desc(color))     从大到小

    arrang(iris,date,desc(price))  #时间从小到大  价格从大到小

    #概数数据:将数据概括为单行数值,对每一列运行概数函数,计算各变量中每一个特定值的行数,向量的第一个值,向量中的最小值,向量的最后一个值,向量中的最大值,向量中第n个值,均值,向量中的方差,向量中的标准差,向量的IQR(四分位距),行名称。

    例子: 

    summarise(hflights_df, delay = mean(DepDelay, na.rm = TRUE))

    #组合表:转换与合并,向数据集a中加入匹配的数据集b记录,向数据集b中加入匹配的数据集a记录,合并数据,保留所有记录,所有行,数据集a中能与b匹配的记录,数据集a中能与b不匹配的记录,均出现在数据集Y和z中的记录,出现在数据集Y和z中的记录,仅出现在数据集,而不在z中的记录,提取的行,使用“过滤加入“过滤一个表的行,返回行匹配的XY看看有用将会加入,返回行匹配的XY有用看看不会加入。

    例子:

    1. #data.frame类型数据集  
    2. class(mtcars)  
    3. #转换为tbl_df类型  
    4. ds <- tbl_df(mtcars)  
    5. #转换为data.frame类型  
    6. df <- as.data.frame(ds) # 数据集a中能与数据集b匹配的记录      # 数据集a中雨数据集b不匹配的记录
    7.    #按行合并,.id添加新列用于指明合并后每条数据来自的源数据框

       

          bind_rows(...,.id = NULL)

          #按列合并

          bind_cols(...)

          #合并数据集

          combine(...)

     总结:dplyr函数处理管道和期望整理数据,dplyr包被称为是十大R语言必学包之一,dplyr包中特有的管道函数%>%,%>%运算符允许从参数列表中提取函数的第一个参数,并放置在%>%前面。
    将上一个函数的输出作为下一个函数的输入。这是一个强大的dply包。dplyr函数分别将操作每一个“组”,如果你用了8小时进行数据清理和数据整理,而只用了2小时进行建模,那么很明显,你希望了解如何将数据清理和整理的时间尽可能缩短。

    反思之下, 本人也是将大把的时间花在了对数据的反复调整上, 或许是手生, 当然R语言在这方面也确实有一定不足,

    大神又说了:

    数据分析有两个瓶颈,一是我们的目标是什么,二是我们如何用计算机去实现。如 ggplot2,plyr 和 reshape2,更关注的是如何更简单地表达你的目标,而不是如何让计算机算得更快。

    这些都是值得我们学习的。

    install.packages("dplyr")
    library(dplyr)
    
                     
    posted @ 2017-05-01 23:45  维雪炜梅数据智能工室  阅读(461)  评论(6)    收藏  举报