#r
#r
Вопрос:
У меня есть столбец данных о возрастном диапазоне, который выглядит следующим образом:
data lt;- c("lt;18", "956", "675", "18-30", "31-50", "50 ", "543" "Unknown")
Теперь я хочу переименовать все символы целых чисел как «Неизвестные», чтобы новый столбец выглядел так:
data lt;- c("lt;18", "18-30", "31-50", "50 ", "Unknown")
Я пробовал использовать это:
if(data$age_range !="lt;18" || data$age_range !="18-30" || data$age_range !="31-50" || data$age_range !="50 ") {data$age_range2 = "Unknown"}
Но он переименовывает все значения в "Unknown"
Я тоже пробовал использовать ifelse
, но это тоже не работает. Я совсем новичок в R и был бы признателен за всю помощь, которую я могу получить.
Заранее спасибо!
Ответ №1:
Вы можете преобразовать данные в числовые и переименовать целые числа как «Неизвестные».
data lt;- c("lt;18", "956", "675", "18-30", "31-50", "50 ", "543", "Unknown") data[which(!is.na(as.numeric(data)))] lt;- "Unknown" data
Результат
[1] "lt;18" "Unknown" "Unknown" "18-30" "31-50" "50 " "Unknown" "Unknown"
Если вы хотите сохранить только одно «Неизвестное»,
sort(unique(data)) # [1] "lt;18" "18-30" "31-50" "50 " "Unknown"
Комментарии:
1. Большое спасибо, это сработало идеально!
2. Добро пожаловать!