gpt4 book ai didi

R:删除少于特定阈值非零值的行

转载 作者:行者123 更新时间:2023-12-05 04:13:25 24 4
gpt4 key购买 nike

我想知道如何从数据框中删除少于(比方说 5)个非零条目的行。

我最接近的是:

length(which(df[1,] > 0)) >= 5

但是如何将其应用于整个数据框并丢弃那些为假的数据框?有类似excel中COUNTIF()函数的函数可以在这里应用吗?

感谢您的帮助。

最佳答案

您可以在 rowSums[:

中使用 bool 值
 df[ rowSums(df > 0) >= 5, ]

这个表达式中隐藏了3个步骤:

  • expression df > 0 生成一个值为 TRUE 的矩阵,其中元素 > 0
  • 函数 rowSums 返回每行的非零元素数(求和时将值 TRUE 视为 1,将 FALSE 视为 0)
  • 最后 [ 只选择非零元素数 >= 5 的行

关于R:删除少于特定阈值非零值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37758738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com