【问题标题】:From multiple matricies, calculate percentage of a value from each matrix and store them into a new vector从多个矩阵中,计算每个矩阵中一个值的百分比并将它们存储到一个新向量中
【发布时间】:2015-02-26 09:33:52
【问题描述】:

我通过 stackoverflow 进行了搜索,但未能找到针对我的具体问题的解决方案。在这里,我想从具有 NA 值的多个矩阵中计算一个元素的百分比,并将计算结果存储到一个新向量中 - 具体而言,每个矩阵包含 1、0 和 NA 值。这是我目前所拥有的:

a<-A[!is.na(as.vector(A))] # A, B, C, D are matrices with NA values
b<-B[!is.na(as.vector(B))]
c<-C[!is.na(as.vector(C))]
d<-D[!is.na(as.vector(D))]
mm<-function(x){length(x[names(x)==1)/length(x)]} # make percentage function
Item.1<-lapply(data.frame(a,b,c,d), mm) # apply function to matrices

理论上,我对每个矩阵进行矢量化,删除 NA 值,然后再应用计算每个矢量的百分比并将它们存储到新矢量中的函数。在这种情况下,我想计算每个矩阵中 1 的百分比。但这是我的输出:

$a
[1] 0

$b
[1] 0

$c
[1] 0

$d
[1] 0

我猜我的问题在于函数本身,但我不确定出了什么问题。此外,我们非常感谢替代解决方案。

【问题讨论】:

    标签: r function matrix percentage na


    【解决方案1】:

    我想多了。下面是我的新功能。

    a<-A[!is.na(as.vector(A))] # A, B, C, D are matrices with NA values
    b<-B[!is.na(as.vector(B))]
    c<-C[!is.na(as.vector(C))]
    d<-D[!is.na(as.vector(D))]
    mm<-function(x){mean(x==1)} # make percentage function
    Item.1<-lapply(data.frame(a,b,c,d), mm) # apply function to matrices
    

    【讨论】:

    • 我觉得和mean(x == 1)是一样的
    • @RichardScriven 你是对的。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 2015-08-08
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多