【问题标题】:Error in R: NA/NaN/Inf in foreign function call using hclust()R中的错误:使用hclust()的外部函数调用中的NA / NaN / Inf
【发布时间】:2021-03-11 08:49:03
【问题描述】:

我正在尝试通过开始投手的名字来对 MLB 数据进行聚类。我梳理了我正在使用的数据,没有任何值为 na 的数据,我在下面的代码中省略了它们。 Clustdata 对我来说看起来非常好ClustData preview 但我收到此错误:

在 hclust(d, method = "single", members = clustdata[, 1]) 中由 coercionError 引入的 NA: 外部函数调用中的 NA/NaN/Inf (arg 7)

我想通过这些属性按投手名称对该表进行聚类 谁有想法?谢谢!我是 R 新手

data7 = read.csv("GL2007.csv", header = T)

data8 = data.frame(na.omit(data7[c(10,23,24,25,26,30,31,33,105)]))
scoreagg = aggregate(v_score ~ h_starting_pitcher_name, data8, mean)
hitsagg = aggregate(v_hits ~ h_starting_pitcher_name, data8, mean)
doubagg = aggregate(v_doubles~ h_starting_pitcher_name, data8, mean)
tripagg = aggregate(v_triples~ h_starting_pitcher_name, data8, mean)
hragg = aggregate(v_homeruns ~ h_starting_pitcher_name, data8, mean)
hbpagg = aggregate(v_hit_by_pitch ~ h_starting_pitcher_name, data8, mean)
walksagg = aggregate(v_walks~ h_starting_pitcher_name, data8, mean)
SOagg = aggregate(v_strikeouts~ h_starting_pitcher_name, data8, mean)

clustdata = data.frame(scoreagg$h_starting_pitcher_name, scoreagg$v_score,hitsagg$v_hits,doubagg$v_doubles,tripagg$v_triples,hragg$v_homeruns,hbpagg$v_hit_by_pitch,walksagg$v_walks,SOagg$v_strikeouts)


library(NbClust)
d = dist(as.matrix(clustdata[,2:9]), method = "euclidean")
hc_1 = hclust(d, method = "single", members = clustdata[,1])

【问题讨论】:

    标签: r


    【解决方案1】:

    由于问题中没有提供很多细节,看来您没有正确使用members 参数。

    如果您的目的只是为了获得一个聚类,请将其保留为 NULL。

    hc_1 = hclust(d, method = "single")
    

    【讨论】:

    • 我正在尝试按投手的名称对数据进行聚类,投手是clustdata 中的第一列。当我运行此代码时,clustdata 正确构建,第一列作为投手的名字,2-9 是我想要基于的聚类数据
    • 您可能需要可重复的示例来说明您必须做什么。
    猜你喜欢
    • 1970-01-01
    • 2014-03-18
    • 2013-10-24
    • 2012-09-05
    • 1970-01-01
    • 2015-08-01
    • 2014-03-28
    • 2018-07-03
    • 1970-01-01
    相关资源
    最近更新 更多