11

Hadley は私にplyrパッケージを教えてくれました。私はいつもそれを使って「グループ化」のようなことをしていることに気づきました。しかし、デフォルトでV1、V2などになるため、結果の列の名前を常に変更する必要があることに気付きました.

次に例を示します。

mydata<-data.frame(matrix(rnorm(144, mean=2, sd=2),72,2),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(mydata) <- c("x_value", "acres",  "state")
groupAcres <- ddply(mydata, c("state"), function(df)c(sum(df$acres)))
colnames(groupAcres) <- c("state","stateAcres")

最後の行を省略できるように、ddply name を結果の列にする方法はありますか?

4

2 に答える 2

19

要約 (または要約) を使用します。

  groupAcres <- ddply(mydata, "state", summarise, 
     myName = sum(acres))
于 2009-09-08T23:52:29.647 に答える
11

これはうまくいくようです:

> groupAcres <- ddply(mydata, c("state"), function(df) c(myName=sum(df$acres)))
> groupAcres
  state   myName
1     A 56.87973
2     B 57.84451
3     C 52.82415
于 2009-09-08T18:36:10.643 に答える