2012-03-16 16 views
1

私は、次のdata.frameを持っている:Rのdata.frame:行に文字列の内容を変換

言葉は、私は次の形式

に変換したい

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

スコア

WORDSスコア

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 

私はそれはまた、言葉の数が異なるカンマで区切られた文字列のために動作することを証明するためにあなたの例のデータを修正しました。

関連する問題