首页 > 解决方案 > 获取数据框中所有列的小于常数的值的分数

问题描述

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

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

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

标签: rdataframesummary

解决方案


我认为这将非常简单。我想你只是想要colMeans(df < C)

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


推荐阅读