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

如何将两个数据框合并为(nrow, ncol, 2)维度数组用于Keras多变量时序分类

合并多变量时间序列数据框为Keras输入格式

要将两个结构一致的数据框转换为Keras要求的(样本数, 时间步, 变量数)维度数组,这里提供两种R语言实现方式:

方法一:基础R实现(无需额外包)

先将数据框转为矩阵,再通过array()函数构建三维数组:

# 示例数据
dim1 <- data.frame(t1 = c(1:4), t2 = c(2:5), t3 = c(3:6))
dim2 <- data.frame(t1 = c(3:6), t2 = c(4:7), t3 = c(5:8))

# 转换为矩阵
mat1 <- as.matrix(dim1)
mat2 <- as.matrix(dim2)

# 动态获取维度参数
n_samples <- nrow(dim1)
n_timesteps <- ncol(dim1)
n_vars <- 2

# 构建目标数组
result <- array(c(mat1, mat2), dim = c(n_samples, n_timesteps, n_vars))

# 验证维度
dim(result)
# 输出:4 3 2

方法二:使用abind包(更简洁)

abind包专门用于多维数组的合并,操作更直观:

# 安装并加载包(首次运行需安装)
# install.packages("abind")
library(abind)

# 示例数据
dim1 <- data.frame(t1 = c(1:4), t2 = c(2:5), t3 = c(3:6))
dim2 <- data.frame(t1 = c(3:6), t2 = c(4:7), t3 = c(5:8))

# 按第三维度合并矩阵
result <- abind(as.matrix(dim1), as.matrix(dim2), along = 3)

# 验证维度
dim(result)
# 输出:4 3 2

两种方法最终生成的数组都完全符合Keras多变量时间序列分类模型的输入格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:39:57