2012-03-16 35 views
1

我有以下data.frame:[R data.frame:转换字符列的内容,以行

WORDS SCORE

word1,word2,word3  12 
word4,word5,word6  9 

我想转换成以下格式

WORDS SCORE

word1 12 
word2 12 
word3 12 
word4 9 
word5 9 
word6 9 

似乎是一个非常简单的,但无法找到转置...

回答

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 

我修改您的示例数据显示,它也会为有字的不同数量的逗号分隔字符串的工作。