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

如何将多日R数据框转换为各配对独立时间序列?

实现方法

首先,先把你提供的三维数组数据在R中构造出来(如果你的数据已经是数组格式可跳过这一步):

# 构造对应三维数组
data_array <- array(
  data = c(
    # 2020-10-03
    0.000000, 0.957277, 3.361026,
    0.957277, 0.000000, 8.420407,
    3.361026, 8.420407, 0.000000,
    # 2020-10-04
    0.0000000, 0.2106529, 5.875128,
    0.2106529, 0.0000000, 8.678178,
    5.8751284, 8.6781781, 0.000000,
    # 2020-10-05
    0.00000000, 0.02922629, 5.234718,
    0.02922629, 0.00000000, 5.109506,
    5.23471797, 5.10950603, 0.000000
  ),
  dim = c(3, 3, 3),
  dimnames = list(
    c("A", "B", "C"),
    c("A", "B", "C"),
    as.Date(c("2020-10-03", "2020-10-04", "2020-10-05"))
  )
)

接下来用tidyverse工具链把数据整理成适合做时间序列的长格式,同时过滤掉重复配对(比如A-B和B-A)和无意义的对角线(A-A):

library(tidyverse)

# 转换为长格式数据框
tidy_data <- as.data.frame.table(data_array, responseName = "value") %>%
  rename(row = Var1, col = Var2, date = Var3) %>%
  mutate(date = as.Date(date)) %>%
  # 只保留row < col的配对,避免重复
  filter(row < col) %>%
  # 生成配对标识
  mutate(pair = paste(row, col, sep = "-"))

方式1:分面展示所有配对的时间序列

如果想在一张图里同时看所有配对的趋势,用分面:

ggplot(tidy_data, aes(x = date, y = value)) +
  geom_line(linewidth = 1, color = "#2c3e50") +
  geom_point(size = 2, color = "#e74c3c") +
  # 按配对分面,y轴自适应
  facet_wrap(~pair, scales = "free_y") +
  labs(x = "日期", y = "数值", title = "各元素配对的时间序列变化") +
  theme_minimal()

方式2:生成每个配对的单独时间序列图

如果需要每个配对单独导出图片,可以用purrr批量生成:

# 批量创建每个配对的可视化对象
plot_list <- map(unique(tidy_data$pair), function(current_pair) {
  plot_data <- filter(tidy_data, pair == current_pair)
  ggplot(plot_data, aes(x = date, y = value)) +
    geom_line(linewidth = 1, color = "#3498db") +
    geom_point(size = 2.5, color = "#f39c12") +
    labs(x = "日期", y = "数值", title = paste("配对", current_pair, "的时间序列")) +
    theme_minimal()
})

# 查看单个图(比如A-B配对)
plot_list[[1]]

# 批量保存所有图到当前工作目录
walk2(plot_list, unique(tidy_data$pair), function(plot, pair_name) {
  ggsave(
    filename = paste0("pair_time_series_", pair_name, ".png"),
    plot = plot,
    width = 6,
    height = 4,
    dpi = 300
  )
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:15:46