首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSclust包的SAX函数产生错误

TSclust包的SAX函数产生错误
EN

Stack Overflow用户
提问于 2015-10-10 10:47:38
回答 1查看 1.7K关注 0票数 0

我在SAX (符号聚合聚合)图中使用TSclust包。根据第25页上显示的示例,我使用了以下函数

代码语言:javascript
复制
SAX.plot(as.ts(df$power), w=30, alpha=4) 

但是,它生成的错误如下:

代码语言:javascript
复制
Error in if ((n <- as.integer(n[1L])) > 0) { : argument is of length zero

我无法调试它。甚至我也查看了SAX.plot函数的源代码,但没有找到输入的相关错误消息。

所需的R数据对象可以在链接中找到

R版本: 3.2

TSclust版本:1.2.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-10 13:04:24

很明显,这是因为您需要将数据规范化,请参阅下面的示例:

代码语言:javascript
复制
# Parameters
w <- 30 
alpha <- 4 

# PAA
x <- df$power
paax <- PAA(x, w) 
plot(x, type="l", main="PAA reduction of series x") 
p <- rep(paax,each=length(x)/length(paax)) #just for plotting the PAA
lines(p, col="red")

# SAX
convert.to.SAX.symbol(paax , alpha)
# [1] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
# You need to scale PAA result
convert.to.SAX.symbol(scale(paax) , alpha)
# [1] 1 1 1 1 1 1 1 1 1 2 2 1 4 3 3 1 2 2 2 4 4 4 1 1 2 4 3 3 4 4


# SAX plot : with scaling this works
SAX.plot(as.ts(scale(df$power)), w=w, alpha=alpha) 

这可能是您可以在函数帮助页面中找到的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33053119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档