获取数据框中所有列小于常量的值的分数

Get the fraction of values that's less than a constant for all columns in data frame

我认为应该有一种非常简单的方法可以做到这一点,但我对 R 还不是很熟练。我的愚蠢解决方案只是遍历列,计算小于 C 的值的数量,将其除以行数以获得分数。像

fracs <- c()
for (j in 1:ncol(df)) {
  frac <- sum(df[,j] < C) / nrow(df)
  fracs <- c(fracs, frac)
}

我觉得应该有一个单行代码来获得数据框的这种摘要,也许使用 dplyr 或其他东西。理想情况下,输出是一行包含分数的数据框。请R高手帮忙

我想这会很简单。我想你只是想要 colMeans(df < C)

编辑:为了更清楚一点,df 是一个数据框。当我们 运行 df < C 时,结果将是一个相同维度的逻辑矩阵,其中每个单元格 i,j 存储 df[i,j] > C 的结果。 colMeans 采用列均值,将 TRUEFALSE 分别视为 1 和 0。