K均值聚類我有在R.已經創建它的結構如下數據集:中的R錯誤
> head(btc_data)
Date btc_close eth_close vix_close gold_close DEXCHUS change
1647 2010-07-18 0.09 NA NA NA NA 0
1648 2010-07-19 0.08 NA 25.97 115.730 NA -1
1649 2010-07-20 0.07 NA 23.93 116.650 NA -1
1650 2010-07-21 0.08 NA 25.64 115.850 NA 1
1651 2010-07-22 0.05 NA 24.63 116.863 NA -1
1652 2010-07-23 0.06 NA 23.47 116.090 NA 1
我試圖集羣中使用k均值的意見。但是,我收到以下錯誤消息:
> km <- kmeans(trainingDS, 3)
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(x) <- "double" : NAs introduced by coercion
這是什麼意思?我是否錯誤地預處理了數據?我能做些什麼來解決它?我不能刪除NA,因爲在4500次最初的觀察中,如果我運行complete cases
我只剩下100個觀察值。
本質上,我希望根據change
列的值爲-1,0,1形成3個簇。然後,我希望分析每個羣集的組成部分,找出變化的最強預測因素。還有哪些其他算法對此更有用?
我也試圖消除所有的NA值使用下面的代碼,但我仍然得到同樣的錯誤信息:
> complete_cases <- btc_data[complete.cases(btc_data), ]
> km <- kmeans(complete_cases, 3, nstart = 20)
Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(x) <- "double" : NAs introduced by coercion
> sum(!sapply(btc_data, is.finite))
[1] 8008
> sum(sapply(btc_data, is.nan))
[1] 0
>
> sum(!sapply(complete_cases, is.finite))
[1] 0
> sum(sapply(complete_cases, is.nan))
[1] 0
下面是數據的格式:
> sapply(btc_data, class)
Date btc_close eth_close vix_close gold_close DEXCHUS change
"Date" "numeric" "numeric" "numeric" "numeric" "numeric" "factor"
'>總和(sapply(btc_data,is.finite)!) [1] 8008 > sum(!sapply(btc_data,is.nan)) [1] 18193' – zsad512
@coffeinjunky我編輯了這個問題....另外,我不知道爲什麼'sum'對於完整的情況是'721',特別是只有103個觀察結果...當我手動檢查df時,沒有NA的 – zsad512
好的 - 我刪除了'!'並編輯了任務離子...你要說的是'knn'應該在'complete_cases'上工作,但我仍然得到相同的錯誤信息 – zsad512