【发布时间】:2019-04-03 05:25:57
【问题描述】:
我有一个数据看起来像这样。
data = data.frame(GENDER = c("1", "1", "1", "2", "2"),
ZSCORE_0 = c(12.12, 12.67, 13.72, 13.79, 14.78),
ZSCORE_3 = ...,
ZSCORE_6 = ...,
...
ZSCORE = 60 = ...)
我尝试使用 dplyr 包中的汇总函数来汇总这些数据。
我的问题是参数太多。
例如
data %>%
group_by(GENDER) %>%
summarise(MIN_ZSCORE_0 = min(ZSCORE_0),
MIN_ZSCORE_3 = min(ZSCORE_3),
...,
MIN_ZSCORE_60 = min(ZSCORE_60),
MAX_ZSCORE_0 = max(ZSCORE_0),
MAX_ZSCORE_3 = max(ZSCORE_3),
...,
MAX_ZSCORE_60 = max(ZSCORE_60),
MEAN,
MEDIAN,
n,
...)
我想简化这项工作。
我使用循环来创建参数。
interval = seq(3, 60, 3)
data %>%
group_by(GENDER) %>%
summarise(for (i in interval) {
target = paste0("ZSCORE_", i)
min(target)
max(target)
...
n(target)
})
但它不起作用。
Error: Column `for (... in NULL) NULL` is of unsupported type NULL
【问题讨论】: