首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并多维数组

合并多维数组
EN

Stack Overflow用户
提问于 2015-01-14 00:20:21
回答 2查看 92关注 0票数 3

我有一个数组列表,其中每个数组只有2个元素,并带有数字,否则是NA。在所有数组中,任何给定的元素都只有一个数字。

以下是一些示例数据。

代码语言:javascript
复制
ar1=array(NA,dim=c(2,3,4))
ar1[1,1,1]=100
ar2=array(NA,dim=c(2,3,4))
ar2[2,3,4]=200
ar3=array(NA,dim=c(2,3,4))
ar3[2,1,4]=300
ar=list(ar1,ar2,ar3)

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-14 00:28:59

您可以将Reduce与忽略NA的任何向量化函数一起使用:

代码语言:javascript
复制
Reduce(function(x, y) ifelse(!is.na(x), x, y), ar)

另一个例子是:

代码语言:javascript
复制
library(functional)
Reduce(Curry(pmax, na.rm = TRUE), ar)
票数 3
EN

Stack Overflow用户

发布于 2015-01-14 00:29:32

pmax有一个na.rm参数,您可以将ar作为一个列表与该参数一起传递给带有do.call的pmax:

代码语言:javascript
复制
> do.call(pmax, c(ar,  na.rm=TRUE) )
, , 1

     [,1] [,2] [,3]
[1,]  100   NA   NA
[2,]   NA   NA   NA

, , 2

     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA

, , 3

     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA

, , 4

     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]  300   NA  200
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27933911

复制
相关文章

相似问题

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