首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个矩阵中,计算每个矩阵的值的百分比,并将它们存储到一个新的向量中。

从多个矩阵中,计算每个矩阵的值的百分比,并将它们存储到一个新的向量中。
EN

Stack Overflow用户
提问于 2015-02-26 09:33:52
回答 1查看 204关注 0票数 0

我搜索了堆叠溢出,但没有找到解决我的具体问题的办法。这里,我想要计算一个元素从多个具有NA值的矩阵中所占的百分比,并将计算结果存储到一个新的向量中--具体来说,每个矩阵包含1s、0和NA值。到目前为止,这就是我所拥有的:

代码语言:javascript
复制
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值,然后应用函数从每个向量中计算百分比并将它们存储到一个新的向量中。在这种情况下,我想要计算每个矩阵中1s的百分比。但这是我的输出:

代码语言:javascript
复制
$a
[1] 0

$b
[1] 0

$c
[1] 0

$d
[1] 0

我猜测我的问题在于功能本身,虽然我不确定是怎么回事。此外,其他解决办法也受到极大的赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-26 09:59:36

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

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28738773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档