У меня есть набор данных, который выглядит примерно как
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 строки script, каждое наблюдение в столбце "два дома" закодировано с помощью 2. Однако некоторые из них должны быть закодированы с помощью 1.
Итак, мой вопрос: что я делаю неправильно с моей линией if else или script? Или есть альтернативный способ сделать это.
Мой вопрос похож на этот: Использование ifelse по коэффициенту в R
но никто не ответил на этот вопрос.
Большое спасибо заранее!