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)

                 

转载于:https://www.cnblogs.com/zwz123456/p/6901623.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值