2012-03-16 74 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 

我修改您的示例數據顯示,它也會爲有字的不同數量的逗號分隔字符串的工作。