5

今使ってddplyいます。数字を扱うのはとても簡単です。サブグループの平均または標準偏差を取るなど。

しかし、私は文字列を扱うのに苦労しています。各サブグループの同じ列の文字列を結合したいのですが、できませんでした。私は試しましcbind pasteた、など。誰でも助けを提供できますか?

4

2 に答える 2

8

collapse=""貼り付けステートメントに追加

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
于 2012-09-06T20:58:45.223 に答える
5

Dasonにはアプローチがあるようです。私はむしろ別々のものを別々に保ち、提案します:

 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 を変更して collapse=", " を使用することもできます。これは上記と同じように見えますが、構造が異なります。そのlist()例を使用するときに文字に変換する必要がある場合、または因子変数の整数コーディングを取得します。

于 2012-09-06T21:37:40.803 に答える