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

TTR包中运行CTI函数报错:cti_10尺寸不符如何解决?

问题解决:CTI函数返回长度不匹配的错误

错误原因

CTI()计算技术指标时,需要连续n个数据点才能生成第一个有效结果。当设置n=10时,前9行数据无法满足计算条件,因此函数返回的向量长度为5550-9=5541,而dplyr::mutate要求新列长度必须与原数据行数完全一致,这就导致了长度不匹配的报错。

解决方法

TTR包的大部分技术指标函数都支持na.pad参数,将其设为TRUE即可自动在结果开头填充n-1个NA,让输出向量长度与输入数据保持一致。修改后的代码如下:

library(tidyverse)
library(TTR)
data(ttrc)

ttrc %>% mutate(cti_10 = CTI(Close, n=10, na.pad=TRUE))

原理说明

na.pad=TRUE会在CTI()的计算结果前补充n-1个缺失值(NA),使得最终返回的向量长度与输入的Close列完全相同(5550行),这样mutate就能顺利将新列添加到数据框中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:01:02