本文介绍了在R中融化数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在R中有一个数据框,格式如下
I have a dataframe in R in the format below
name1 name2 name3
word1 1 0 1
word2 0 1 1
word3 1 1 0
我想融化这个数据框进入:
I would like to melt this dataframe into:
name1 |word1|word3
name2 |word2|word3
name3 |word1|word2
推荐答案
这是一个一线的基础解决方案:
Here's a one-liner, base solution:
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)
这篇关于在R中融化数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!