※ 引述《qaz5746986 (云之痕)》之铭言:
: [问题类型]:
: 程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
: [软件熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 请教各位前辈,如想把r内建的iris资料集,计算出specis三个花种类别之下
: 其余4个连续型变量的mean var 并做成一大张表格,该怎用循环写出来较简洁呢?
: 我只会用tapply一个一个算再bind起来...请各位前辈教导
最简单的写法,其他还有by, aggregate之类的
funs = list(mean, sd, var, min, median, max)
MM = matrix(NA, 3, (ncol(iris)-1)*length(funs))
for (i in seq_along(funs))
for (j in 1:(ncol(iris)-1))
MM[,(i-1)*(ncol(iris)-1)+j] = tapply(iris[,j], iris[,5], funs[[i]])
最好的方式:
library(dplyr)
iris %>% group_by(Species) %>%
summarise_each(funs(mean, sd, var, min, median, max))