Использование If / Else для фрейма данных

У меня есть набор данных, который выглядит примерно так

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

но никто не ответил на этот вопрос.

Спасибо заранее!

Ответы на вопрос(2)

Ваш ответ на вопрос