You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中如何将多个四维数组沿新增第五维度拼接为单个数组

解决方法

你只需要给abind函数指定along = 5参数,即可沿新增的第5维度拼接数组:

abind默认沿输入数组的最后一个已有维度拼接,你之前的写法没有指定拼接维度,所以会把3个长度为3的观测维度拼成长度9的维度。指定along = n时,如果n大于输入数组的最大维度数,就会新增第n维作为拼接维度。

# 加载abind包
library(abind)

# 沿第5维度(年份维度)拼接数组
test.array.bind <- abind(test.array1, test.array2, test.array3, along = 5)

# 验证维度,输出为 16 8 4 3 3,符合测试预期
dim(test.array.bind)

如果要拼接18个年份的数组,推荐先把所有年份的四维数组存入一个列表,用do.call批量调用,避免逐个输入数组参数:

# 把18个年份的数组按时间顺序存入year_arrays列表
year_arrays <- list(test.array1, test.array2, test.array3, ...) # 替换为你实际的18个年份数组
test.array.all <- do.call(abind, c(year_arrays, along = 5))

# 给第五维设置年份维度名
dimnames(test.array.all)[[5]] <- 2003:2020

# 验证最终维度,输出为 16 8 4 3 18
dim(test.array.all)

内容的提问来源于stack exchange,提问作者The_Tams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:54:03