簡體   English   中英

如何找到包含大於或等於給定數字的值的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM