使用R中的矩阵对多维数组进行子集化

卢卡斯

我有一个四维的水温数组[lon,lat,dept,done],我想基于一个矩阵提取月温度,该矩阵中的行和列分别为lon和lat,并指定深度级别。结果将是可变深度[lon,lat,month]的每月温度的3维数组。

仅提供一个示例:

set.seed(1)    
temperature <- array(rnorm(10), rep(3,4))
depth <- matrix(c(NA, sample(1:3, 8, replace = TRUE)), 3, 3)

我看了如何动态索引多维R数组?R使用矩阵选择多维数组的行,无法解决该怎么做?

任何帮助深表感谢。

尼古拉

可以相距很远,但是可以尝试一下:

#get the indices relative to lon, lat and depth
threeIndices<-cbind(c(row(depth)),c(col(depth)),c(depth))
#repeat each row of the above to host a different month value
threeIndices<-threeIndices[rep(1:nrow(threeIndices),dim(temperature)[4]),]
#define the month index
fourthIndex<-rep(1:dim(temperature)[4],each=nrow(threeIndices)/dim(temperature)[4])
#putting all together
allIndices<-cbind(threeIndices,fourthIndex)
#subsetting and putting in an array
array(temperature[allIndices],dim(temperature)[c(1,2,4)])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在R中的列表中对矩阵进行子集化?

R子集和多维数组中的赋值

如何使用矩阵中的信息对数据框进行子集化?

使用`subset`函数按列名对矩阵进行子集化

在矩阵中对字符串进行子集化后如何获得字符串矩阵?

R中矩阵的快速子集

R中的子集矩阵观测

获取多维数组中的最大子集

使用const进行多维数组初始化

使用指针进行多维数组初始化

如何使用数组值对PHP中的多维数组进行排序?

如何使用数据子集在R中制作散点图矩阵

使用数据表单单元格选择对 R 中的数据帧进行子集化

为什么我可以使用3维在R中对数据帧进行子集化?

如何使用R中的字符串向量对data.table进行子集化

如何使用占位符在 r 中对数据帧进行子集化

如何使用选择输入在 r Shiny 中对数据帧进行子集化?

基于 R 中的条件对嵌套列表进行子集化

在 R 中对数据集进行子集化

从 R 中的函数内对数据进行子集化

在 r 中使用 if....else 语句进行子集化

在 R 中使用特定值进行子集化的问题

使用react显示多维数组/矩阵

使用javascript创建多维数组(nXn)矩阵

使用索引对data.table中的行进行子集化

使用键值在php中对多维数组进行排序

如何使用php在多维数组中按键对项目进行分组

使用多个条件在PHP中对多维数组进行排序

在 R 中对多维数组进行矩阵索引时,有没有办法选择一个维度的所有元素?