【发布时间】: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