【发布时间】:2017-08-29 14:51:58
【问题描述】:
我有一个包含 R 中包含二进制数据的 30 列的数据框。每一行都包含一个 1。换句话说,二进制值是互斥的。对于所有 30 列,任何两列都不能在同一行中包含 1。这是我的意思的说明。
1 0 0
0 1 0
0 0 1
1 0 0
0 0 1
现在显然,将这些信息分布在 30 列上的计算成本非常高。我想要做的是将所有这 30 列合并为一列,其中包含 30 个不同的因子变量。例如,新列在第二列有 1 的每一行中包含 2,在第三列有 1 的每一行中包含 3,等等。重要的是要保留原始顺序,并且位置不会因为它们的动作而混乱作为其他列的索引。所以上面的 3 列会变成这样:
1
2
3
1
3
如何在 R 中实现这一点?
非常感谢
【问题讨论】:
-
你可以使用
max.col(df)
标签: r dataframe merge multiple-columns