首页 > 解决方案 > R中数据框每列的第25个分位数

问题描述

我正在尝试遍历 R 中的数据框。对于每一列,我想打印第 25 个分位数。

使用来自 nycflights13 包的数据,我正在尝试以下操作:

abt <- select(flights, sched_dep_time)

for(i in names(abt)) {
  qrt_1 <- quantile(abt[i], c(.25))
  print(qrt_1)
}

但是,这给了我错误:错误:Must use a vector in[, not an object of class matrix.

我在哪里走错了路?

标签: r

解决方案


这可能无法解决您的问题为什么它不起作用,但我想为您提供一个替代方案lapply()

lapply(mtcars, function (x) quantile(x, 0.25))

这还会为您返回数据框中每列的 25% 分位数。但是每一列都必须是数字(您在示例中假设)。

如果您想要矢量化输出,您也可以使用sapply而不是lapply


推荐阅读