我正在尝试使用mtcars
数据集来计算汇总统计数据。这是我的代码 -
df <- as_tibble(mtcars)
df.sum2 <- df %>%
select(mpg, cyl, vs, am, gear, carb) %>%
mutate(across(where(is.factor), as.numeric)) %>%
summarise(across(
.cols = everything(),
.fns = list(
Min = min,
Q25 = quantile (., 0.25),
Median = median,
Q75 = quantile (., 0.75),
Max = max,
Mean = mean,
StdDev = sd,
N = n()
), na.rm = T,
.names = "{col}_{fn}"
)
)
但我收到以下错误 -
错误:
summarise()
输入有问题..1
。x 不能对不存在的列进行子集化。x 位置 65、66、69、71、76 等不存在。i 只有 6 列。i 输入..1
是across(...)
。
如果我从上面的代码中取出Q25 = quantile (.,0.25)
and ,它工作正常。Q75 = quantile (.,0.75)
实际上,我可以使用以下代码获得预期的结果 -
df.sum <- df %>%
select(mpg, cyl, vs, am, gear, carb) %>% # select variables to summarise
summarise_each(funs(Min = min,
Q25 = quantile (., 0.25),
Median = median,
Q75 = quantile (., 0.75),
Max = max,
Mean = mean,
StdDev = sd,
N = n()))
但我想用across
函数来使用summarise
函数。我不想使用该summarise_each
功能。