我有两个时间序列数据,我正在进行动态时间扭曲(DTW)分析。我用R中的“zoo”函数创建了这两个系列:ZooData:Zoon系列从1.93到547.211; ZooData2:动物园系列从1.207到2190.516。 ZooData2是我的参考系列,ZooData是我的测试系列。根据该论文:“不对称步骤模式将时间扩展限制为两倍;不可能将查询与参考完全对齐超过两倍。”所以,我不能使用step.pattern=asymmetric
这里,我应该选择哪种步骤模式?该文件建议我选择Rabiner-Juang IV型:
alignment<-dtw(zooData,zooData2,step.pattern =rabinerJuangStepPattern(4,"c"))
但我在R中试过,它没有用:
Error in dtw(zooData, zooData2, step.pattern = rabinerJuangStepPattern(4, :
No warping path exists that is allowed by costraints
任何人都可以帮助我吗?另外,我想做KNN分析,所以我想使用非对称步骤模式,而不是对称步骤模式。非常感谢你!
答案 0 :(得分:1)
distance<-read.csv(file.choose(), head=T, row.names=1)
我是R的新手,在我发布这个问题之前,我知道函数read.csv
,但我不知道如何编写路径,例如,如果我将文件放在桌面上,我该怎么办?从C://桌面读取它。然后我找到了代码file.choose()
,您可以直接单击要导入的文件。
然后,我需要我的第一列也是变量名,这里是row.names
的描述:
行名称向量。这可以是给出实际行名称的向量,或者是给出包含行名称的表的列的单个数字,或者是给出包含行名称的表列名称的字符串。
如果存在标题且第一行包含的字段少于列数,则输入中的第一列用于行名称。否则,如果缺少row.names,则对行进行编号。
使用row.names = NULL强制进行行编号。缺少或NULL row.names生成被认为是“自动”的行名(并且不会被as.matrix保留)。
答案 1 :(得分:0)
将第一列设置为行名。
read.csv("yourfile.csv", head=T, row.names=1)