当前位置:  开发笔记 > 编程语言 > 正文

使用另一个逻辑矩阵在矩阵中设置NA

如何解决《使用另一个逻辑矩阵在矩阵中设置NA》经验,为你挑选了1个好方法。

我刚刚看到一个看起来像是一个被删除的非常好的问题,因为像原来的提问者我找不到重复,我再次发帖.

假设我有一个简单的矩阵("m"),我想用另一个逻辑矩阵("i")索引,保持原始矩阵结构完整.像这样的东西:

# original matrix
m <- matrix(1:12, nrow = 3, ncol = 4)

# logical matrix
i <- matrix(c(rep(FALSE, 6), rep(TRUE, 6)), nrow = 3, ncol = 4)

m
i

# Desired output:
matrix(c(rep(NA,6), m[i]), nrow(m), ncol(m))
# however this seems bad programming...

使用m[i]返回向量而不是矩阵.实现这一目标的正确方法是什么?



1> 42-..:

原始海报添加了评论说他已经找到了解决方案,然后几乎立即将其删除:

 m[ !i ] <- NA 

我已经开始使用该is.na<-函数提供了稍微不同的解决方案的答案:

 is.na(m) <- !i

这两种解决方案似乎都是依赖于逻辑索引的合理R代码.(i实际上并不依赖于矩阵结构.适当长度和条目的向量也将保留矩阵结构m.)

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有