我只是在和R一起玩耍,我将sapply()
命令合并到一个表达式中时遇到了麻烦。
例如,我的数据表名为height_weight
。
我想计算通常的摘要统计信息:mean
,median
,max
,minimum
以及从列2
到{{1}的样本量}。
就像示例代码一样:
我用它来表示:
7
我只是想知道,我如何将两者合并为一个表达式?我尝试过将它们放在一起,但是会显示错误信息。
答案 0 :(得分:0)
许多方法都可以。
E.g。使用summary
和子集来获取相应的行
sapply(height_weight[2:7], summary)[c("Mean", "Max."), ]
或者使用一个未命名的自定义函数,将两个度量结合起来
sapply(height_weight[2:7], function(x) c(Mean=mean(x, na.rm=TRUE), Max=max(x, na.rm=TRUE)))
将两个功能放在一起是不行的,因为你只能给sapply
一个功能。随后的所有内容都将传递给该函数。 (即,如果它不是sapply
的参数。)
答案 1 :(得分:0)
如果您想计算通常的摘要统计信息,可以使用summary
:
summary(height_weight[2:7])
sapply(height_weight[2:7],summary) # just to use sapply
否则,如果你想定义自己的摘要统计数据(在本例中为mean和max),那么你可以像以前一样编写一个函数mysummary并使用sapply
:
mysummary <- function(x, ...) {
c(mean=mean(x, ...),
max=max(x, ...))
}
sapply(height_weight[2:7], mysummary , na.rm=TRUE)