首页 > 解决方案 > R 中基于 DTWCLUST 形状的聚类分析:尽管数据集完整,但外部函数调用中的 NA/NaN/Inf

问题描述

我们目前正在尝试运行基于 dtwclust 包的形状,并且正在运行以下问题:对于我们数据的某些子集,会收到此错误消息:

Error in stats::hclust(stats::as.dist(distmat), method, members = dots$members) : NA/NaN/Inf in foreign function call (arg 11)

起初,我们认为我们的数据框中可能缺少数据。但是,我们测试了 NA、NaN、Infs 和数据类型(数字),结果一切正常。

让它变得更奇怪 - 它似乎在将数据子集成大约 1.5k 行大小的块时起作用。其他变量工作得很好。

我们找不到任何一致的模式,似乎也没有更接近解决方案 - 非常感谢您的专业知识和帮助。

为了使错误可重现,请找到附加的代码和完整的数据集。

代码:

require(dtwclust)
hc_anger_sbd_k10 <- tsclust(anger, type = "h", k = 10L, preproc = zscore, seed = 100, distance = "sbd", centroid = shape_extraction, control = hierarchical_control(method="average"))

数据: Dropbox 数据链接

非常感谢和亲切的问候

标签: rcluster-analysis

解决方案


您有空系列,即值全为零的系列。例如anger[1949,]. 根据 SBD 的定义,此类系列与任何其他系列之间的距离是无限的。

您可能必须使用类似anger[rowSums(anger) != 0,].


推荐阅读