如何找到包含大于或等于给定数字的值的R矩阵的列数?

  • 本文关键字:数字 包含 何找 大于 r sum rowsum
  • 更新时间 :
  • 英文 :


我有一个52列5000行的矩阵。我想找到包含小于或等于某个值的列的数量(例如,52列中有多少列包含小于或等于10的数字)

我正在尝试rowSum,但我不记得/找不到一种方法来使这个工作。

谢谢!

一个可能的解决方案:

m <- matrix(1:9, 3, 3)
sum(colSums(m <= 5) != 0)
#> [1] 2

编写自己的函数呢?

代码如下:

count_rows = function(df, val)
{
checks = 0
for (i in 1:ncol(df))
{
if(any(df[,i] > 0))
checks = checks + 1
}
return (checks)
}
A = matrix(runif(100), 10, 10)
count_rows(A, 0.5)

表示维数为5000x52的矩阵mat

set.seed(1234)
mat <- matrix(trunc(runif(5000*52)*1e5) , 5000 , 52)
dim(mat)
#> [1] 5000   52

则可以使用

找出52列中有多少列包含小于或等于10的数字
sum(apply(mat , 2 , (x) any(x <= 10)))
#> 24

最新更新