我有以下data.frame:
词汇分数
word1,word2,word3 12
word4,word5,word6 9
我想转换为以下格式
词汇分数
word1 12
word2 12
word3 12
word4 9
word5 9
word6 9
看起来像一个非常简单的,但无法通过转置解决...
答案 0 :(得分:0)
可能有一个更简单的解决方案,例如使用reshape2
包,但以下内容应该有效:
dat <- read.table(text='
words score
word1,word2,word3 12
word4,word5,word6,word7 9',
header=T, stringsAsFactors=FALSE)
wds <- strsplit(dat$words, ',')
score <- rep(dat$score, unlist(lapply(wds, length)))
out <- data.frame(word=unlist(wds), score=score,
stringsAsFactors=FALSE)
> out
word score
1 word1 12
2 word2 12
3 word3 12
4 word4 9
5 word5 9
6 word6 9
7 word7 9
我修改了您的示例数据,以证明它也适用于具有不同字数的逗号分隔字符串。