【问题标题】:Negative or Zero Value for Bandwidth using kde2d with for loop (MASS R Package)使用 kde2d 和 for 循环(MASS R 包)的带宽的负值或零值
【发布时间】:2019-03-11 08:21:35
【问题描述】:

我正在尝试使用 kde2d(MASS 包)在列表中的多个数据帧上运行二维 kde。尝试运行循环时,我得到:

if (any(h

有人知道我为什么会收到这个错误吗?我在下面添加了示例数据作为循环内容的示例。

RTL_EOW DSL_SLS Avg_Wkly_Tmp PROXY_ID
2016 年 8 月 27 日 0 78.65940641 1
2016 年 9 月 3 日 2924 68.28091649 1
2016 年 9 月 10 日 2656 69.3189759 1
2016 年 9 月 17 日 5050 71.61575243 1
2016 年 9 月 24 日 4254 73.85357591 1
2016 年 10 月 1 日 5316 61.63126437 1
2016 年 10 月 8 日 5582 57.10903173 1
2016 年 10 月 15 日 5531 66.50587123 3
2016 年 10 月 22 日 5046 53.08352004 3
2016 年 10 月 29 日 8195 68.44048727 3
2016 年 11 月 5 日 5535 52.66686763 3
2016 年 11 月 12 日 6863 41.69310232 3
2016 年 11 月 19 日 7976 38.96718858 3

K <- for (i in 1:length(Q)) {
Q[[i]] <- kde2d(Q[[i]]$Avg_Wkly_Tmp, 
Q[[i]]$Dsnl_Sls, n = 25, lims 
c(min(Q[[i]]$Avg_Wkly_Tmp), 
max(Q[[i]]$Avg_Wkly_Tmp), 
min(Q[[i]]$Dsnl_Sls), max(Q[[i]]$Dsnl_Sls)))
}

【问题讨论】:

    标签: r for-loop kde mass


    【解决方案1】:

    我们没有 Q,但它看起来至少有一个元素的范围为零。

    【讨论】:

    • 非常感谢。 Q 中有一些小的子集,其中所有 DSL_SLS 值都是 0,因此在这些情况下 min 将等于 max。我没有明确考虑 MASS 中 h 的计算,但如果范围为 0,则值为 0 是有道理的。我将过滤掉范围为零的那些组,看看会发生什么。
    猜你喜欢
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2020-12-16
    • 1970-01-01
    • 2016-08-21
    • 2021-09-29
    • 2022-10-13
    相关资源
    最近更新 更多