【问题标题】:Get the fraction of values that's less than a constant for all columns in data frame获取数据框中所有列的小于常数的值的分数
【发布时间】:2019-01-08 21:51:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: r dataframe summary


    【解决方案1】:

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

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

    【讨论】:

    • 哇,感谢您的超级快速和真棒回答。这让我觉得很愚蠢。您的回答如此之快,以至于我现在都无法接受。将在 10 分钟内接受。
    • 这只是经验,但我很高兴它对您有所帮助。我将对其进行扩展,因为我认为答案太简短了。
    • 这是一种非常优雅但表面上并不明显的解决方案
    猜你喜欢
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2020-07-08
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2020-05-14
    相关资源
    最近更新 更多