У меня есть набор данных, который выглядит примерно так
data<-c(0,1,2,3,4,2,3,1,4,3,2,4,0,1,2,0,2,1,2,0,4)
frame<-as.data.frame(data)
Теперь я хочу создать новую переменную в этом фрейме данных. Если в столбце «данные» указано число 2 или более, я хочу, чтобы в этой строке было «2», а если есть 1 или 0 (, например. первые два наблюдения ), я хочу, чтобы новая переменная имела «1» для этого наблюдения.
Я пытаюсь сделать это, используя следующий код:
frame$twohouses<- if (any(frame$data>=2)) {frame$twohouses=2} else {frame$twohouses=1}
Однако если я запущу эти 3 строки сценария, каждое наблюдение в столбце «два дома» будет закодировано цифрой 2. Однако ряд из них должен быть закодирован цифрой 1.
Итак, мой вопрос :, что я делаю неправильно с моей строкой или сценарием if else? Или есть альтернативный способ сделать это.
Мой вопрос похож на этот: Использование ifelse для фактора в R
но никто не ответил на этот вопрос.
Спасибо заранее!