tidyr包:reshape2的替代者,功能更纯粹
R将整洁数据定义为:每个变量的数据存储在自身的列中,每个观测值的数据存储在其自身的行中。整洁数据是进行数据再加工的基础。
考虑本系列04的例子。对于melt,tidyr用gather进行替代。
1 |
table1 <- gather(table2, 道路等级, 日均覆盖里程, one_of(c("高速覆盖里程", "快速路覆盖里程", "主要道路覆盖里程"))) |
最后一个参数指定要gather的列,x:y表示从x到y的列,-z表示不包括z列。还可以使用dplyr包的select的option表达式进行列的选取,示例代码使用了one_of表达式。
对于cast, tidyr用spread进行替代。
1 |
table2 <- spread(table1, 道路等级, 日均覆盖里程) |
此外,tidyr还提供了separate将一列按分隔符分割为多列,unite将多列按指定分隔符合并为一列。
时间: 2024-10-05 06:28:31