![](/img/trans.png)
[英]How to find the row number of a matrix when its two columns match the given values in r
[英]How to find the number of columns of an R matrix that contains values greater than or equal to a given number?
我有一个 52 列和 5,000 行的矩阵。 我想查找包含小于或等于某个值的值的列数(例如,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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.