#r #sampling
#r #выборка
Вопрос:
Есть ли способ отбирать только ненулевые значения в R? В настоящее время у меня есть этот код.
s <- sample(200000, replace=TRUE);
m <- mydata$myvar[s]
Однако некоторые элементы m
имеют значение null. Существует ли такая простая команда, как следующая?
s <- sample(200000, replace=TRUE, na.rm=TRUE);
s <- sample(mydata$myvar, replace=TRUE, na.rm=TRUE);
В документации не указано, что такая опция существует.
Комментарии:
1. Вы уверены, что получаете NULL, а не NA? Я получаю NA, когда пытаюсь получить доступ к индексам за пределами границ.
2. Каков результат
length(mydata$myvar)
?
Ответ №1:
После этого вы можете просто удалить NULL
элементы:
m <- m[!is.null(m)]
Ответ №2:
Возможно, ваши данные не содержат 200000 строк.
s <- sample(1:nrow(mydata),200000, replace=TRUE);
#replce =TRUE or FALSE as per your requirement
m <- mydata$myvar[s]
Попробуйте это, надеюсь, это сработает
Комментарии:
1. Еще лучше,
sample(nrow(mydata), ...
чтобы объект1:nrow(mydata)
не нужно было создавать.
Ответ №3:
?na.omit
или ?complete.cases
если вам просто нужно проиндексировать по нему