Я пытаюсь прочитать столбец, и если я нахожу соответствующую строку, записываю новое значение в новый столбец. Код, с которым я начал играть, выглядит следующим образом

crime_dd$Offense_Cond <- ifelse(crime_data$Offense = 'TMVP','TFMV','MVTHFT','AUTOTH', "AUTO THEFT", "OTHER")

Это не работает. Я пробовал использовать% in%, но, вероятно, использую его неправильно, если он вообще работает в операторах ifelse. У кого-нибудь есть элегантное решение, кроме, возможно, использования astr_replace?

r
1
MixedBeans 9 Ноя 2018 в 01:10

1 ответ

Лучший ответ

Мы можем использовать %in% для вектора значений, т.е. чтобы создать вектор из нескольких строк, используйте c()

ifelse(crime_data$Offense %in% c('TMVP','TFMV','MVTHFT','AUTOTH'), 
        "AUTO THEFT", "OTHER")

ПРИМЕЧАНИЕ: В сообщении OP есть опечатка для ==

0
akrun 8 Ноя 2018 в 22:11