我有这个数据帧
um dois tres
1.2 1.9 0.1
1.2 1.1 2
2.2 1.2 0.4
3.0 1.8 2.6
我需要在同一函数中计算数据帧的均值,方差和偏度。我把功能分开了。有什么建议?
mean <- function(x){
sum(x)/length(x)
}
variance <- function(x){
n <- length(x)
m <- mean(x)
(1/(n-1))*sum((x-m)^2)
}
skewness <- function(x) {
n <- length(x)
v <- var(x)
m <- mean(x)
third.moment <- (1/(n - 2))*sum((x - m)^3)
third.moment/(var(x)^(3/2))
}
解决办法:dput(data)
structure(list(um = c(1.2, 1.2, 2.2, 3), dois = c(1.9, 1.1, 1.2, 1.8), tres = c(0.1, 2, 0.4, 2.6)), class = "data.frame", row.names = c(NA,-4L))
# to use the function skewnewss install and load the package e1071
library(e1071)
sapply(data, function(x) c(means = mean(x), vars = var(x), skews = skewness(x)))
对于每个输入列,输出一次性生成所需的计算:
um dois tres
means 1.9000000 1.5000000 1.27500000
vars 0.7600000 0.1666667 1.47583333
skews 0.2535648 0.0000000 0.05788459








暂无数据