我試圖使用包e1071中訓練有素的SVM進行預測,但我的數據包含一些缺失值(NA)。R對於缺少數據的預測,SVM返回NA
我想返回的預測爲NA時,該實例有任何缺失的值。我嘗試使用na.action = na.pass如下,但它給我一個錯誤「名稱錯誤(ret2)< - rowns:'names'屬性[150]必須與矢量[149]」的長度相同。
如果我使用na.omit,那麼我可以預測沒有缺失數據的實例。 如何獲得包括NA在內的預測?
library(e1071)
model <- svm(Species ~ ., data = iris)
print(length(predict(model, iris)))
tmp <- iris
tmp[1, "Sepal.Length"] <- NA
print(length(predict(model, tmp, na.action = na.pass)))
你可以只分配所有有效的情況下回到一個預測變量在'tmp'設置 - 'TMP [complete.cases(tmp),「predict」] < - predict(model,newdata = tmp [complete.cases(tmp),])'或同等學歷。 – thelatemail
謝謝,這很好。鑑於我必須與支持向量機一起工作,並且想要NA而不是插補,這是要走的路。 – Jake