
https://drugqm.sharepoint.cn/:i:/s/StatisticalQuality/ESxwuclgP8dHhI59z9qblmsBp0Uo2MIeUNXOuSP1-P4-Zw?e=W6Shd5
(图不能显示,直接放链接了)
这里的映射关系是错误的。
数据:https://drugqm.sharepoint.cn/:x:/s/StatisticalQuality/ETKZV1etlEtFuofDGg5zAW8BHe362oC2EO41bIGz22E-Zw?e=EMVXMU
代码:
- 加载必备包
library(dtw)
library(ggplot2)
library(ggforce)
library(readxl)
library(dplyr)
- 读取并预处理数据(处理空值,提取有效序列)
df <- read.csv("Book1.csv")
dt1 <- df$dt1 # 黑线序列(完整长度,无需截断)
dt2 <- df$dt2[!is.na(df$dt2)] # 红线序列(去除空值,仅保留有数据的部分)
cat("dt1(黑线)长度:", length(dt1), "\n")
cat("dt2(红线)长度:", length(dt2), "\n")
- 执行“中段对齐”的DTW(关键:open.end = TRUE取消末尾强制对齐)
dtw_mid_alignment <- dtw(
x = dt1, # 被对齐的目标序列(黑线)
y = dt2, # 需对齐的序列(红线)
step.pattern = asymmetric, # 非对称步长,适合不等长序列中段匹配
open.end = TRUE, # 核心参数:允许红线在dt1中段结束,不强制到末尾
window.type = "sakoechiba", # 滑动窗口约束,避免不合理的长距离匹配
window.size = 10 # 窗口大小(可根据数据调整,控制匹配范围)
)
Error: object 'dt2' not found
请问如何生成正确映射的数据?(红色应该映射到黑色的后半段,不是末尾)
谢谢