我正在使用R中Hmisc包中的bystat函数。如何提取属性值并将它们放入变量中。例如,我想计算变量aaf的均值和SD,并将它们放在数据帧或矩阵中。
t <- with(d.aaf,bystats(y=aaf,plot_bid,fun=function(x) {
c(Mean = round(mean(x),digits=2),SD = round(sd(x),digits=2))
}))
> str(t)
bystats [1:121, 1:3] 5 5 5 5 5 4 5 5 3 4 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:121] "P00000000006001288020278" "P00000000006001288085814"
"P00000000006001288151350" "P00000000006001288216886" ...
..$ : chr [1:3] "N" "Mean" "SD"
- attr(*, "heading")= chr "function(x) { c(Mean = round(mean(x),digits=2),
SD = round(sd(x),digits=2)) }
of aaf by plot_bid"
- attr(*, "byvarnames")= chr "plot_bid"
我这样做的方法是首先将“t”转换为数据帧,我认为这不是很有效。 谢谢你的建议。
答案 0 :(得分:1)
您可以使用plyr包中的ddply直接输出到数据框。
library(plyr)
t<-ddply(d.aaf, "plot_bid", summarise, mean=round(mean(aaf),2), SD=round(sd(aaf),2))
SD<-t$SD
mean<-t$mean