我很驚訝地發現library(cluster)
的clara
允許NAs。但函數文檔沒有說明它如何處理這些值。在R中使用NA值聚類
所以我的問題是:
- 如何
clara
處理來港? - 這可以以某種方式用於
kmeans
(Nas不允許)?
[更新]在clara
功能的代碼,所以我也發現線路:
inax <- is.na(x)
valmisdat <- 1.1 * max(abs(range(x, na.rm = TRUE)))
x[inax] <- valmisdat
這確實因valmisdat
缺失值替換。不知道我明白使用這種公式的原因。有任何想法嗎?單獨使用每一列對新手進行治療會更「自然」,可能會用平均數/中位數代替嗎?
相同的代碼行在'雛菊'中處理'clara'函數中的缺失值(請參閱我的問題更新)。 –
@ danas.zuokas我不知道它只是從您認爲與該問題有關的來源拉取任意代碼行是多麼有幫助。你需要研究R代碼和C代碼。 'valmisdat'是用來表示C代碼中缺失數據('NA')的值,而不是直接使用'NA'。如果你看看C代碼,你會發現它顯然只是忽略了一個變量對於其中一個或另一個或者兩個樣本的缺失值的比較,其中計算了不相似性。查看指向代碼的指針的更新答案。 –
謝謝你,加文! –