У меня есть ответы на обследования в моем data.frame(Analysis)
, которые включают в себя:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Я хочу, чтобы присвоить значение для каждого ответа, основываясь на их уровне. Например, "Strongly Agree"
получает 2 в то время как "Agree"
получает оценку 1. Мой желаемый результат будет:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Q1_Score <- c(1, 2, -1, 0, 1, 0)
Это кажется простой вопрос, но у меня возникают трудности в поиске ответа!
спасибо.Присвоить значение символьной строки
8
A
ответ
5
Вы можете использовать revalue
из plyr
пакета, чтобы создать новый столбец фактора в кадре Analysis
данных с уровнями переименованы:
library(plyr)
Analysis$Q1_Score <- revalue(Analysis$Q1,
c("Strongly Agree"="2", "Agree"="1", "Neither"="0", "Disagree"="-1"))
5
Вы можете поместить значения и коды в отдельном dataframe, а затем использовать match
, чтобы получить их в основной dataframe:
dat <- data.frame(Q1,Q1_Score)
Analysis$Q1_Score <- dat$Q1_Score[match(Analysis$Q1, dat$Q1)]
2
Вы можете заказать их соответствующим образом в факторного, а затем преобразовать в числовой как так:
Q1 <- factor(Q1, levels=c("Disagree","Neither","Agree","Strongly Agree"))
as.numeric(Q1)-2
#[1] 1 2 -1 0 1 0
Вычитание 2, потому что самый низкий уровень фактора сохраняется как 1, и вы хотите, чтобы нижний уровень был -1.
В качестве альтернативы, один вкладыш, который возвращает фактор переменным вместо числовых значений:
factor(Q1, levels=c("Disagree","Neither","Agree","Strongly Agree"), labels=c(-1,0,1,2))
#[1] 1 2 -1 0 1 0
#Levels: -1 0 1 2
Смежные вопросы
- 1. Значение hexa для символьной строки
- 2. Значение Django max_length для символьной строки
- 3. Невозможно присвоить значение строки подключения
- 4. символ строки * против символьной строки []
- 5. Сравнение символа символьной строки
- 6. Проверьте значение символьной переменной
- 7. Назначить значение символьной строке ..?
- 8. Преобразование символьной строки в дату
- 9. ссылка Структура по символьной строки
- 10. присвоить идентификатор кнопки, извлекая значение из строки
- 11. присвоить значение всей строки в массиве Numpy
- 12. Как присвоить значение столбца с помощью строки
- 13. Как присвоить значение индексу строки C++ индексом
- 14. Как присвоить значение id?
- 15. Кастинг символьной строки как функции
- 16. возвращение sqlite3_column_text() для символьной строки
- 17. Замена символьной строки в R
- 18. Конкатенация символьной строки в C
- 19. grep для символьной строки «--->»
- 20. Унарный плюс (+) против символьной строки
- 21. Замена символьной строки на букву
- 22. Подменю строки с конкретным символьной строки
- 23. поиск строки для символьной строки в C
- 24. Невозможно присвоить значение переменной
- 25. Vb.net присвоить значение ref?
- 26. Как я могу присвоить номер символьной переменной в MATLAB?
- 27. Как присвоить значение строке?
- 28. Преобразование символьной строки в целое число
- 29. не может присвоить значение символьной переменной с помощью scanf в c?
- 30. Сохранение символьной константы в символьной переменной
Я проголосовал за использование пакета 'plyr', но мне также нравится ваш ответ, используя базу R. Спасибо. – user2716568
Или даже просто 'c (« Полностью согласен »= 2,« Согласен »= 1,« Ни один »= 0,« Не согласен »= - 1) [Q1]' – thelatemail