2012-09-06 2 views
5

私は現在ddplyを使用しています。数字を扱うのはとても簡単です。サブグループの平均または標準偏差を取るなど。ddply要約文字列操作

しかし、私は文字列を扱いにくいです。私は各サブグループの同じ列の文字列を結合したいと思いますが、できませんでした。私はcbindpasteなどを試しました。誰でも助けてくれますか?

+2

具体的で再現性のある例がなければ、おそらくそれほど多くの助けはできません。 – joran

+0

ヘルプを得るには[再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を作成してください... – ptocquin

答えて

8

は、私はDasonのアプローチを持って見るあなたのペースト声明

ddply(mtcars, .(carb), summarize, cyl_concatenated = paste(cyl, collapse = "")) 
# carb cyl_concatenated 
#1 1   4664444 
#2 2  8444888444 
#3 3    888 
#4 4  6686688888 
#5 6    6 
#6 8    8 
5

collapse=""を追加します。私はむしろ別の独立したものを保持うと示唆している:

ddply(mtcars, .(carb), summarize, cyl_list = list(as.character(cyl))) 
#----------- 
    carb      cyl_list 
1 1   4, 6, 6, 4, 4, 4, 4 
2 2 8, 4, 4, 4, 8, 8, 8, 4, 4, 4 
3 3      8, 8, 8 
4 4 6, 6, 8, 6, 6, 8, 8, 8, 8, 8 
5 6       6 
6 8       8 

ます。またDasonのは、崩壊を使用するように変更する可能性=「」上記と同じように見えるだろうが、異なる構造を持つことになります。 list()を使用すると、その例を使用するときに文字に変換する必要があります。または、factor変数の整数コーディングを取得します。