У меня есть фрейм данных "var", и мне нужно получить выходной вектор, который удовлетворяет следующим условиям.
По сути, я пытаюсь выполнить следующее: если значение psqi_2_sleepstart1 меньше 15, comp21score необходимо присвоить значение 0;между 16 и 30, comp21score необходимо присвоить значение 1;между 31 и 60, comp21score должно быть присвоено значение 2, а более 60 comp21score должно принимать значение 3. Например, если для фрейма данных были значения для psqi_2_sleepstart1 как 16, 40, 6 и 10;Я хочу, чтобы выходные данные были 1, 2, 0, 1. Я использовал оператор ifelse, но я получил ошибку, что аргумент "да" отсутствует, без значения по умолчанию.
Вот моя попытка:
for (i in 1: nrow(var)) {
ifelse (psqi_2_sleepstart1 <= 15)
comp21score [i] <- 0
ifelse (psqi_2_sleepstart1 > 15 & psqi_2_sleepstart1 <= 30)
comp21score [i] <- 1
ifelse (psqi_2_sleepstart1 > 30 & psqi_2_sleepstart1 <= 60)
comp21score [i] <- 2
ifelse (psqi_2_sleepstart1 > 60)
comp21score [i] <- 3
}
print (comp21score)
У кого-нибудь есть предложения по поводу того, что я мог бы использовать вместо этого или как избежать этой ошибки?
Спасибо!