我正在尝试计算数据框的多个统计数据。
I tried dplyr
's summarise_each
。但是,结果以平面单行形式返回,并添加函数名称作为后缀。
有没有直接的方法 - 使用dplyr
或 base r - 我可以在哪里获得数据框中的结果,其中列作为数据框的列,行作为汇总函数?
library(dplyr)
df = data.frame(A = sample(1:100, 20),
B = sample(110:200, 20),
C = sample(c(0,1), 20, replace = T))
df %>% summarise_each(funs(min, max))
# A_min B_min C_min A_max B_max C_max
# 1 13 117 0 98 188 1
# Desired format
summary(df)
# A B C
# Min. :13.00 Min. :117.0 Min. :0.00
# 1st Qu.:34.75 1st Qu.:134.2 1st Qu.:0.00
# Median :45.00 Median :148.0 Median :1.00
# Mean :52.35 Mean :149.9 Mean :0.65
# 3rd Qu.:62.50 3rd Qu.:168.8 3rd Qu.:1.00
# Max. :98.00 Max. :188.0 Max. :1.00
怎么样:
library(tidyr)
gather(df) %>% group_by(key) %>% summarise_all(funs(min, max))
# A tibble: 3 × 3
key min max
<chr> <dbl> <dbl>
1 A 2 92
2 B 111 194
3 C 0 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)