За свою жизнь я не могу понять, почему R внезапно преобразует мои значения в NA.
library(class)
attach(alcohol)
trainknn=cbind(Pstatus, absences, internet)[testsamples,]
testknn=cbind(Pstatus, absences, internet)[-testsamples,]
**trainknn.Walc=test$Walc[testsamples]**
set.seed(1)
knn.pred=knn(trainknn, testknn, trainknn.Walc, k=6)
knn.predtest=sample(knn.pred,57,replace=T)
Строка с ** - это та, которая доставляет мне неприятности (очевидно, звезд нет в моем настоящем коде). Я разделил данные обучения и тестирования на код, которого здесь нет, но я уверен, что все в порядке. Когда я прошу напечатать Walc, все значения там. Когда я печатаю тест $ Walc, все значения там. Это только когда я добавляю [testsamples], когда он внезапно возвращает почти все значения NA. Кто-нибудь знает, почему это происходит?
Редактировать: вот как я разделил данные
set.seed(1)
testsamples=sample(1:nrow(alcohol), size=.10*nrow(alcohol))
test=alcohol[testsamples,]
train=alcohol[-testsamples,]
nrow(test)