R语言的tidyr包怎么用
导读:本文共3368字符,通常情况下阅读需要11分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 前言reshape2包在数据处理阶段帮助我们很容易的实现长宽格式数据之间的转换。tidyr包可以看作是reshape2包的进化版本,该包的作者依旧是Rstudio的首席科学家,R语言界的大神Hadley Wickham。tidyr包往往与dplyr包结合使用,目前渐有取代reshape2包之势, 是值得关注的一个R包。在tidyr包中,有四个常用的函数,分别是:... ...
目录
(为您整理了一些要点),点击可以直达。reshape2包在数据处理阶段帮助我们很容易的实现长宽格式数据之间的转换。tidyr包可以看作是reshape2包的进化版本,该包的作者依旧是Rstudio的首席科学家,R语言界的大神Hadley Wickham。tidyr包往往与dplyr包结合使用,目前渐有取代reshape2包之势, 是值得关注的一个R包。
在tidyr包中,有四个常用的函数,分别是:
gather():宽数据转换为长数据,将行聚集成列
spread():长数据转换为宽数据,将列展开为行
unite():多列合并为一列
separate():将一列分离为多列.
接下来我们主要对这四个函数进行详细学习,并在此基础上学习tidyr包其他的一些实用功能。
导入所用的包
如前面所说,gather()函数是将宽数据转换为长数据,调用公式如下:
首先我们先查看原始数据:
使用gather()函数进行数据重塑(代码中'%>%'为管道函数,这也是我们为什么要载入dplyr包的原因,关于管道函数,详见R Language Learning:dplyr包(十一))
spread()函数将长数据转为宽数据,即将列展开为行,调用公式如下:
我们使用R中的economics数据集来使用学习这一函数。
unite()函数是将数据框中多列合并为一列,调用公式如下:
在这里,我们使用unite()函数将日期和时间数值合并到一列上。
在学习了unite()函数后,separate()函数就很好理解了,它的作用正好和unite相反,即将数据框中的某列按照分隔符拆分为多列,一般用于时间序列的拆分,调用公式如下:
我们使用上一节得到的时间数据集,定义为data_unite,并对它进行拆分
从上面的数据中,我们可以看到类型与数值都存在缺失值。对于类型的缺失值,我们选择众数替换,对于数值型的缺失值,我们选择均值替换(也可选择中位数等,视具体情况而定)
R语言的tidyr包怎么用的详细内容,希望对您有所帮助,信息来源于网络。