#r #plyr
#r #plyr
Вопрос:
Я пытаюсь переоценить точки данных для одной из переменных в наборе данных, с которым я работаю.
Переменная присваивает race . Вместо того, чтобы указывать расу в качестве точки данных, это число. Я пытаюсь переоценить число так, чтобы в нем была указана соответствующая раса.
library(plyr)
as.character(data$MRACEHISP)
nat2015p01_new2020$mothersrace <- revalue(data$MRACEHISP, c("1"="WHITE", "2" = "BLACK", "3" = "AIAN", "4"="ASIAN", "5" = "NHOPI", "6" = "MULTIPLE", "7" = "HISPANICE", "8" = "OTHER" ))
Я продолжаю получать следующую ошибку:
Ошибка в переоценке(nat2015p01_new2020$MRACEHISP, c( 1
= «WHITE», 2
= «BLACK», : x не является фактором или символьным вектором.
Я не уверен, как решить эту ошибку и решить проблему. Любая помощь будет оценена. Спасибо!
Ответ №1:
Вам необходимо сохранить значения символов в data
library(plyr)
data$MRACEHISP <- as.character(data$MRACEHISP)
nat2015p01_new2020$mothersrace <- revalue(data$MRACEHISP, c("1"="WHITE", "2" = "BLACK", "3" = "AIAN", "4"="ASIAN", "5" = "NHOPI", "6" = "MULTIPLE", "7" = "HISPANICE", "8" = "OTHER" ))
Комментарии:
1. Я попробовал вариант 1 и получил ошибку: ошибка в переоценке (nat2015p01_new2020$ MRACEHISP, c(1 = «БЕЛЫЙ», 2 = «ЧЕРНЫЙ», : x не является фактором или символьным вектором. Теперь я только что попробовал вариант 2 и получил ошибку: Ошибка: неожиданный ‘=’ в «nat2015p01_new2020 $mothersrace <- переоценка (nat2015p01_new2020 $ MRACEHISP, c (1=». Есть ли какой-либо другой метод?
2. Намеренно ли вы используете два разных фрейма данных в варианте 1 (data и nat2015p01_new2020?)
3. это моя ошибка, все они являются одним и тем же фреймом данных, я просто забыл изменить его при вводе вопроса. В моем R это тот же фрейм данных.
4. Затем, если вы записали данные $MRACEHISP <- как.character(данные $MRACEHISP) с правильным фреймом данных перед строкой переоценки, это должно сработать. Либо вы что-то неправильно написали, либо что-то не так с вашими данными. Можете ли вы сказать, каков вывод typeof(data $MRACEHISP) до и после строки as.character