R:将汇总统计数据循环到汇总表中
这是用于计算描述性统计的代码R:将汇总统计数据循环到汇总表中,r,statistics,mean,R,Statistics,Mean,这是用于计算描述性统计的代码 densities <- abs(rnorm(100,mean = 15000, sd = 11600)) #just a vector of nonzero normal data #run through descriptive statistics function.names <- c("mean","quantile","IQR","sd","max","min","median") for (i in 1:length(function.
densities <- abs(rnorm(100,mean = 15000, sd = 11600)) #just a vector of nonzero normal data
#run through descriptive statistics
function.names <- c("mean","quantile","IQR","sd","max","min","median")
for (i in 1:length(function.names)){
assign("fun1", get(function.names[i]) )
assign(paste("data_", function.names[i], sep=""), fun1(densities))
rm(fun1) #start over
}
range <- max(densities)-min(densities) #range
pearson_mode_skewness = (mean(densities)- median(densities)/sd(densities))
df_desc <- data.frame(function.names, paste("data_", function.names, sep="")) #plot in a dataframe/cell array
df_desc
> df_desc
function.names paste..data_...function.names..sep......
1 mean data_mean
2 quantile data_quantile
3 IQR data_IQR
4 sd data_sd
5 max data_max
6 min data_min
7 median data_median
密度这里有一个更好的策略:
> funlist <- list(mean,quantile,IQR,sd,max,min,median)
> vals <-lapply(funlist, function(fn) fn(densities) )
[[1]]
[1] 16291.04
[[2]]
0% 25% 50% 75% 100%
195.831 7080.740 16736.867 23635.907 46913.716
[[3]]
[1] 16555.17
[[4]]
[1] 10831.34
[[5]]
[1] 46913.72
[[6]]
[1] 195.831
[[7]]
[1] 16736.87
>功能列表VAL
> funlist <- list(mean,quantile,IQR,sd,max,min,median)
> vals <-lapply(funlist, function(fn) fn(densities) )
[[1]]
[1] 16291.04
[[2]]
0% 25% 50% 75% 100%
195.831 7080.740 16736.867 23635.907 46913.716
[[3]]
[1] 16555.17
[[4]]
[1] 10831.34
[[5]]
[1] 46913.72
[[6]]
[1] 195.831
[[7]]
[1] 16736.87
funlist2 <- list(mean=mean,quantile=quantile,IQR=IQR,
sd=sd,max=max,min=min,median=median)
vals <- lapply(funlist2, function(fn) fn(densities) )
names(vals) <- names( funlist2)