Это общая проблема, но предложенные ответы на этом форуме, к сожалению, не работают для меня.
У меня есть фрейм данных: totalwithoutmaxcl
, где я хочу изменить переменную Post_Diameter_0.1 с факторной на числовую. Я неоднократно получаю ошибку: НС вводятся по принуждению. После этого переменные остаются фактором. Следует отметить, что в наборе данных есть NA, и я использую .
для десятичных чисел.
Я попробовал следующие вещи:
as.numeric(levels(totalwithoutmaxcl$Post_Diameter_0.1))[totalwithoutmaxcl$Post_Diameter_0.1]
и as.numeric(as.character(totalwithoutmaxcl$Post_Diameter_0.1))
Оба дали предупреждение:
NAs introduced by coercion
Я вручную закодировал NA, так что я решил удалить все NA и убедиться, что все численно.
gsub("\\NA", "", totalwithoutmaxcl$Post_Diameter_0.1)
gsub("[^0-9.]", "", totalwithoutmaxcl$Post_Diameter_0.1)
Это не изменило ошибку, упомянутую выше.
Этокак выглядят данные:
str(totalwithoutmaxcl$Post_Diameter_0.1)
Factor w/ 103 levels "0","0.9","10",..: 21 96 NA 27 42 66 18 11 82 19 ...
head(totalwithoutmaxcl$Post_Diameter_0.1)
[1] 12.2 9 <NA> 13.2 16 22
103 Levels: 0 0.9 10 10.1 10.2 10.5 10.7 10.8 10.9 11 11.1 11.2 11.3 11.34 11.4 11.5 11.6 11.8 11.9 12 12.2 12.3 12.4 12.6 12.7 ... NA