提取多个描述性统计

时间:2020-02-12 13:39:19

标签: r

具有这样的数据框:

   df <-  structure(list(id = c(43, 11, 24, 12), a = c(0.291435739245075, 
    0.309022489024281, 0.342122441665493, 0.302379459085847), b = c(0.200071678165039, 
    0.190343927195464, 0.279532043979674, 0.273976986189153), c = c(0.821534168725281, 
    0.789752582333892, 0.650428149039385, 0.787013452455617), d = c(0.173486758738976, 
    0.176046693204654, 0.242694587018572, 0.233888412456641), e = c(0.435969639177237, 
    0.435739245075326, 0.440206330717933, 0.481318878236717), a1 = c(0.292370115325048, 
    0.306001766354781, 0.292792504511884, 0.301265887593278), a2 = c(0.202618812958388, 
    0.212948148527398, 0.271737043531686, 0.215482483648419), a3 = c(0.796331613910684, 
    0.765138812446401, 0.782341572055755, 0.800798699553291), a4 = c(0.176161890255609, 
    0.202567614269075, 0.198510118140976, 0.191623894428303), a5 = c(0.431822545342839, 
    0.458753055921768, 0.47073354922114, 0.424501132771001)), row.names = c(NA, 
    4L), class = "data.frame")

如何为每列提取此描述性统计信息:

5% Mean Median 95% SD

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码完成该操作

melt()

tidyverse解决方案,其中不需要reshape2软件包中的library(tidyverse) df %>% pivot_longer(-id) %>% group_by(name) %>% summarize(min = min(value), max = max(value), mean = mean(value), q5= quantile(value, probs = 0.05), median = median(value), q95= quantile(value, probs = 0.75), sd = sd(value), skewness=skewness(value), kurtosis=kurtosis(value)) 函数

finalize_response

答案 1 :(得分:1)

您可以如下定义自定义函数f

f <- Vectorize(function(v) {
  data.frame(Qu5=quantile(v,0.05),
             Mean = mean(v),
             Median = median(v),
             Qu95 = quantile(v,0.95),
             SD = sd(v))
})

然后应用df_stat <- f(df[-1]),这样

> df_stat
       a          b          c          d          e          a1          a2         a3       
Qu5    0.2930773  0.1918031  0.6709159  0.1738707  0.4357738  0.2924335   0.2041682  0.7677192
Mean   0.31124    0.2359812  0.7621821  0.2065291  0.4483085  0.2981076   0.2256966  0.7861527
Median 0.305701   0.2370243  0.788383   0.2049676  0.438088   0.2970292   0.2142153  0.7893366
Qu95   0.3371574  0.2786988  0.8167669  0.2413737  0.475152   0.3052914   0.2632989  0.8001286
SD     0.02182781 0.04730261 0.07613221 0.03686664 0.02210252 0.006669873 0.03119379 0.0160647
       a4        a5        
Qu5    0.1784812 0.4255993 
Mean   0.1922159 0.4464526 
Median 0.195067  0.4452878 
Qu95   0.201959  0.4689365 
SD     0.0116169 0.02188433
相关问题