如何在R中取消堆叠数据框的部分

时间:2017-05-23 18:26:20

标签: r dataframe

我有一个包含1000多行的数据框,以下R代码创建了一个类似的数据框:

df = data.frame(yr = rep(1:3, 2), 
                name=c(rep("c1", 3), rep("c2", 3)),
                ms=c(101,102,103,301, 302,303),
                td=c(201,202,203,401,402,403))

正如我们所看到的,yr列表示时间轴,name列表示使用ms重复id和某些属性的td值。类似的结构在经济学中很常见。我想基于名称列取消堆栈数据框的部分。最终输出应如下所示:

yr c1_ms c1_td c2_ms c2_td
 1   101   201   301   401
 2   102   202   302   402
 3   103   203   303   403

我尝试了dplyr :: spread,但无法获得任何解决方案,因为它似乎仅适用于一列。什么是R-ish方法来获得这种所需的数据布局而不诉诸于循环?

非常感谢你的帮助。

0 个答案:

没有答案