【发布时间】:2021-04-16 14:27:51
【问题描述】:
我想设置我的自定义汇总统计功能,如果列是一个因素,我想查看 prop.table 而不是汇总统计。
set.seed(123)
df <- data.frame(replicate(6, sample(c(1:10, -99),6, rep = T)))
df$X7 <- factor(df$X6, levels = c(7,9,10)); str(df)
summary <- function(x){
if (is.numeric(x)){
funs <- c(mean, median, sd, mad, IQR)
lapply(funs, function(f) f(x, na.rm = T))
}
else
df[] <- {lapply(df, prop.table)} #not sure how to save the outcome
}
summary(df)
预期的答案
mean median sd mad IQR
X1 mean(X1)
X2 mean(X2)
X3
X4
X5
X6
X7.Factor7 prop.table(X7.Factor7)
X7.Factor9 prop.table(X7.Factor9)
X7.Factor10 prop.table(X7.Factor10)
【问题讨论】:
-
考虑避免
summary的名称冲突,因为base R有一个命名函数:summary()
标签: r data-manipulation