r - 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 数据链接
非常感谢和亲切的问候
解决方案
您有空系列,即值全为零的系列。例如anger[1949,]
. 根据 SBD 的定义,此类系列与任何其他系列之间的距离是无限的。
您可能必须使用类似anger[rowSums(anger) != 0,]
.
推荐阅读
- java - java.time.format.DateTimeParseException:无法解析文本“2019-02-16 09:29:32.959”,在索引 10 处找到未解析的文本
- vb.net - 对非共享成员的引用需要对象引用尝试在 VB.net 中传递对象
- php - 使用 preg 替换获取完整的图像链接
- apache-spark - Hive-On-Spark - 执行后运行查询时出错。引擎更改为 Spark
- bazel - 如何增加重试次数或延长抓取时间?
- java - 打印字符串数组中的所有名称
- apache - 在 Apache 上的 LDAP 身份验证后传递用户名
- jquery - 使用 html ids 查询 mongoDB 文档
- r - 使用 dplyr 的 F 检验方差
- python - 这个运算符“>>”和“//”是什么意思?