【发布时间】:2020-07-27 03:58:46
【问题描述】:
我有一个如下所示的长格式表,在这个输入表中每一行都是唯一的:-
year variable
2014 ab
2014 cd
2014 ef
2016 ef
2016 gh
2014 ab
2014 cd
2014 ef
2016 ef
2016 gh
我想将此表转换为宽格式,但仅限variable 列,它看起来像一个应急矩阵。例如 - 如下输出表所示,ab+cd 的组合在 2014 年出现 ONCE,ab+ef 组合在 2014 年也出现 ONCE。这样,我的输出表的第一行清楚地显示所有Counts 的不同组合variable 不同年份输入表的列。
year value ab cd ef gh
2014 ab 2 2 2 0
2014 cd 2 2 2 0
2014 ef 2 2 2 0
2014 ef 0 0 2 2
2016 gh 0 0 2 2
我尝试了很多次重塑表格,但未能达到我想要的结果。如果解决方案包括使用data.table,我将非常感激。谢谢你。
【问题讨论】:
-
您想要的输出似乎与输入不一致。例如,在 2014 年,
cd和ef都存在,但在您的输出中,相应的单元格有一个0 -
谢谢。我改了。
-
不应该 "ef+cd" 为 1,就像 "cd+ef" 吗?
标签: r dplyr data.table reshape2 dcast