美文网首页
学几个函数

学几个函数

作者: Souff1e | 来源:发表于2020-01-19 19:32 被阅读0次

    1. 首先是dplyr里面的group_by(),在数据某个变量存在多个因子,想要分因子查看特征时,可以用这个,后面可接mutate(),分组计算完成时要记得ungroup()回来,否则是无法画图的。group_by()也可以多组分类,例如group_by(year,month,day), 就按照年月日的顺序分类。

    2. count() 是来自plyr包,我感觉有点像basic函数里面的table(),对某个字段求频数。还可以设置index,使其分段统计。例如:count(book, index = linenumber %/% 80, sentiment),按book来分类,每80行统计一次,统计sentiment内的两种值的频数。(%/%是整除,等于floor(x/y) )

    3. spread() 和gather() 是一对,separate ()也非常常用,来自tidyr

    gather() 把散落在列中的数据整合进行里面,用法:gather(data, category, value, X, Y, Z)。data是待处理的表格,category是行整合进列中后该列的名字,value是所调整的行列单元格中的值,XYZ则分别是待整合入行的列名。

    spread() 则相反,把行中的变量分散在列中。用法:spread(data, category, value),其中value可用“-time”来指定忽略某列,以应对待分散的列太多的情况。

    separate() 则用来把某列分成两列,例如将female_1的记录调整为female和1两列并冠以列名。用法:separate(stu2_new, gender_class, c("gender","class"),就是将gender_class分为gender和class两列。分隔符有待使用时再研究一下。

    4. summarize(), 一般跟group_by()连用,也是用于分组统计。用法:flight %>% group_by(year, month, day) %>% summarize(count=n(),dist=mean(distance, na.rm=T),delay=mean(arr_delay, na.rm=T)) 。于是表格中就添加了count,dist,delay三列。

    参考资料:

    【1】R语言(1)- gather() 和 spread() 函数:://zhuanlan.zhihu.com/p/46640945

    【2】R语言 tidyr包的三个重要函数:gather,spread,separate的用法和举例:https://blog.csdn.net/six66667/article/details/84888644

    【3】R 数据科学(十五)—summarize函数+group_by函数:https://www.jianshu.com/p/f9daef01916b

    相关文章

      网友评论

          本文标题:学几个函数

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