transform 옵션을 주면 raw data를 유지한 상태로 계산해 준다.

head(ddply(iris,'Species',transform,mean.Length=mean(Sepal.Length)))
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species mean.Length
## 1          5.1         3.5          1.4         0.2  setosa       5.006
## 2          4.9         3.0          1.4         0.2  setosa       5.006
## 3          4.7         3.2          1.3         0.2  setosa       5.006
## 4          4.6         3.1          1.5         0.2  setosa       5.006
## 5          5.0         3.6          1.4         0.2  setosa       5.006
## 6          5.4         3.9          1.7         0.4  setosa       5.006
head(ddply(iris,.(Species),transform,mean.Length=mean(Sepal.Length)))
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species mean.Length
## 1          5.1         3.5          1.4         0.2  setosa       5.006
## 2          4.9         3.0          1.4         0.2  setosa       5.006
## 3          4.7         3.2          1.3         0.2  setosa       5.006
## 4          4.6         3.1          1.5         0.2  setosa       5.006
## 5          5.0         3.6          1.4         0.2  setosa       5.006
## 6          5.4         3.9          1.7         0.4  setosa       5.006

summarise옵션을 사용하면 Species별로 요약해서 보여준다.

ddply(iris,'Species',summarise,mean.Length=mean(Sepal.Length))
##      Species mean.Length
## 1     setosa       5.006
## 2 versicolor       5.936
## 3  virginica       6.588
ddply(iris,.(Species),summarise,mean.Length=mean(Sepal.Length))
##      Species mean.Length
## 1     setosa       5.006
## 2 versicolor       5.936
## 3  virginica       6.588

조건을 만족하는 자료에 한해서 연산 할 수 있다. 또, function을 따로 줄 수 있다.

ddply(iris,.(Species,Petal.Width>0.4),summarise,mean.Length=mean(Sepal.Length))
##      Species Petal.Width > 0.4 mean.Length
## 1     setosa             FALSE    5.004167
## 2     setosa              TRUE    5.050000
## 3 versicolor              TRUE    5.936000
## 4  virginica              TRUE    6.588000
ddply(iris,'Species',function(x){data.frame(mean.Length=mean(x$Sepal.Length))})
##      Species mean.Length
## 1     setosa       5.006
## 2 versicolor       5.936
## 3  virginica       6.588