2016-03-15 3 views
1

Я хочу переписать мои данные с символа на числовые. Вот моя неудачная попытка:Как перекодировать переменную символа в R с ошибкой «неожиданного символа»

library(car) # needed for recode 
survey1$V16a = recode(survey1$V16, "'Very important'=1; 'Fairly important'=2; 'Not very important'=3; 'Not important at all'=4; 'Can't choose'=99;", as.numeric.result=TRUE) 

Это сообщение об ошибке впоследствии я получаю

Ошибка в Recode (survey1 $ V16, « 'Очень важно' = 1; 'Довольно важно' = 2; «Не очень важно» = 3; «Не важно вообще» = 4; «Невозможно выбрать» = 99; »,:

в терминах перекоса:« Невозможно выбрать »= 99 сообщение: Ошибка в parse (text = strsplit (term, "=") [[1]] [1]): : 1: 7: неожиданный символ 1: 'Can not

+1

попытка поставить \ перед '«'в' Может \»T', это заблуждение R – TheRimalaya

+0

Пожалуйста ** всегда ** указать, какие пакеты вы используете. 'recode' поступает из пакета' car' –

+0

@ TheRimalaya, пожалуйста, напишите как ответ ... –

ответ

0

Для этого не нужно использовать дополнительный пакет, такой как car. Это также делает код менее читаемым, на мой взгляд. Просто используйте ifelse.

survey1$V16a <- ifelse(survey1$V16a == "Very important", 1, 
       ifelse(survey1$V16a == "Fairly important", 2, 
       ifelse(survey1$V16a == "Not very important", 3, 
       ....))))) 
Смежные вопросы