熔化data.frame in R

时间:2014-05-20 19:43:01

标签: r dataframe

我在R中有一个数据框,格式如下

      name1    name2    name3
word1  1         0        1
word2  0         1        1
word3  1         1        0

我想把这个数据框融合成:

name1 |word1|word3
name2 |word2|word3
name3 |word1|word2

1 个答案:

答案 0 :(得分:1)

这是一个单线,基础解决方案:

out <- t(apply(mydf, 2, function(x) row.names(mydf)[which(as.logical(x))]))

结果是一个矩阵:

> out
      [,1]    [,2]   
name1 "word1" "word3"
name2 "word2" "word3"
name3 "word1" "word2"

很容易变成数据框:

> as.data.frame(out)
         V1    V2
name1 word1 word3
name2 word2 word3
name3 word1 word2

这是我在阅读时的数据:

mydf <- read.table(text='      name1    name2    name3
word1  1         0        1
word2  0         1        1
word3  1         1        0', header=TRUE)