【发布时间】:2020-07-15 03:00:44
【问题描述】:
我想根据二进制列的行名将多个二进制列转换为具有分类内容的一列。我曾尝试在其他questions 中使用此论坛中的代码,但由于我的情况不同,有些行没有条目,我没有设法找到有效的解决方案。 dplyr 提出的解决方案在我的数据集上速度很慢。我的数据集有超过 2 个 Mio 行。
这是数据
m <- matrix(0,10,10)
colnames(m) <- c("a","b","c","d","e","f","g","h","i","j")
m[3,2] <- 1
m[4,8] <- 1
m[5,8] <- 1
m[6,1] <- 1
看起来像这样
a b c d e f g h i j
[1,] 0 0 0 0 0 0 0 0 0 0
[2,] 0 0 0 0 0 0 0 0 0 0
[3,] 0 1 0 0 0 0 0 0 0 0
[4,] 0 0 0 0 0 0 0 1 0 0
[5,] 0 0 0 0 0 0 0 1 0 0
[6,] 1 0 0 0 0 0 0 0 0 0
[7,] 0 0 0 1 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 0 0 0
[9,] 0 0 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0 0 0
我想买
colname
[1,] ""
[2,] ""
[3,] "b"
[4,] "h"
[5,] "h"
[6,] "a"
[7,] "d"
[8,] ""
[9,] ""
[10,] ""
【问题讨论】: