Я хочу преобразовать столбец из символа в число c. Некоторые значения не могут быть преобразованы. Это приводит к предупреждению, которое является ожидаемым поведением.
data.frame(a=c("5","7","not_a_number"),stringsAsFactors = F) %>% mutate(value=as.numeric(a))
Кроме того, у меня есть еще один столбец, дающий мне информацию, какие строки могут быть преобразованы в numeri c (логический). Я хочу использовать этот столбец, чтобы R мог быть уверен, что он не должен принудительно.
data.frame(a=c("5","7","not_a_number"),b=c(1,1,0),stringsAsFactors = F) %>%
mutate(value=ifelse(b,as.numeric(a),NA_integer_))
Но это дает ту же ошибку. Зачем? Здесь ни к чему не принуждать. Я отвечаю за правильный и совместимый тип в строках. Что происходит?