获取数据框中所有列小于常量的值的分数
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
采用列均值,将 TRUE
和 FALSE
分别视为 1 和 0。
我认为应该有一种非常简单的方法可以做到这一点,但我对 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
采用列均值,将 TRUE
和 FALSE
分别视为 1 和 0。