簡體   English   中英

外部函數調用中 R 錯誤 NA/NaN/Inf 中的 K-Means 聚類

[英]K-Means clustering in R error NA/NaN/Inf in foreign function call

我有一個在 R 中創建的數據集。它的結構如下:在此處輸入圖片說明

我正在嘗試使用 k 均值對觀察進行聚類。 但是,我收到以下錯誤消息:

> cl <- kmeans(sample, 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

這是什么意思? 我是否錯誤地預處理數據? 我能做些什么來修復它?

kmeans的文檔中(在控制台中通過?kmeans查看),規定參數x必須是:

數據的數值矩陣,或可以強制轉換為此類矩陣的對象(例如數值向量或包含所有數值列的數據框)。

在這里,您有第一行阻止用於kmeans 基本上,我認為你的第一行應該是你的colnames

此外,你不能用你的第二列genre進行聚類,因為它是字符,我相信第一列也不必使用,對嗎?

因此,如果您的數據集名為samples ,請嘗試執行以下操作:

colnames(samples) <- samples[1,]
samples_cluster <- samples[-1,3:ncol(samples)]
cl <- kmeans(samples_cluster,3)

它回答你的問題嗎?

如果沒有,您能否提供一個可重現的數據集示例,以便我們驗證kmeans聚類的數據kmeans 為此,請參閱: 如何制作出色的 R 可重現示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM