通常我会根据条件进行汇总统计
summary(data$how_fast[data$weight == 'Medium' & data$height == 'High'], basic = T)
但我想要的是输出每个变量的所有摘要统计数据。
summary(data[data$weight == 'Medium' & data$height == 'High'], basic = T)
因此,我们不仅可以获取$how_fast
的摘要统计信息,还可以获取$start_speed
或$medals
等其他变量的摘要统计信息。
理想情况下,它会存储在一个很棒的表中(尽管我相信你可以使用rtf package
来完成)。
答案 0 :(得分:0)
by
允许您将函数应用于数据框。输出是一个基于您的分组具有维度的数组。
dat <- data.frame(A = rep(1:2, each = 10),
B = rep(1:2, times = 10), C = rpois(20, 1))
by(data = dat, INDICES = dat[c("A", "B")], FUN = summary, basic = TRUE)
# A: 1
# B: 1
# A B C
# Min. :1 Min. :1 Min. :0.0
# 1st Qu.:1 1st Qu.:1 1st Qu.:0.0
# Median :1 Median :1 Median :0.0
# Mean :1 Mean :1 Mean :0.6
# 3rd Qu.:1 3rd Qu.:1 3rd Qu.:1.0
# Max. :1 Max. :1 Max. :2.0
# -------------------------------------------------------------
# ...
这使您可以汇总data.frame中的所有分组。要申请单个子集,您可以使用lapply
。
lapply(X = dat[dat$A == 1 && dat$B == 1, ],
FUN = summary, basic = TRUE)
# $A
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1.0 1.0 1.5 1.5 2.0 2.0
#
# $B
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1.0 1.0 1.5 1.5 2.0 2.0
#
# $C
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 0.0 0.0 1.0 0.9 1.0 3.0