работает над анализом выживания. Создайте листок с фреймами данных со списком дат (как класс даты). (Таблица $ date.of.first.positive). Я хотел бы создать еще один столбец, где, если дата попадает в диапазон, я помещаю этот столбец как группу 0,1,2. Я попытался следующий код:Классифицировать по группам по дате
if (worksheet$date.of.first.positive < '2011-07-01'){
worksheet$aspera2 <- 0
}else if (worksheet$date.of.first.positive > '2012-10-01') {
worksheet$aspera2 <- 2
} else{
worksheet$aspera2 <- 1
}
Я получаю следующее сообщение об ошибке: предупреждение: В случае (таблица $ date.of.first.positive < "2011-07-01") {: условие имеет длину> 1, и будет использоваться только первый элемент.
Я прочитал логические ответы, но не совсем понимаю, что я делаю неправильно.
Ответ Динеша был именно тем, что мне нужно. Я использовал следующее. Вставить ifelse! Благодаря!
worksheet$aspera2 <- ifelse(worksheet$date.of.first.positive < '2011-07-01', 0, ifelse(worksheet$date.of.first.positive > '2012-10-01', 2, 1))
Вы должны научиться использовать R 'date'-класс. Используйте 'cut' или' findInterval'. –
Или если вы хотите побаловать себя некоторой логической гимнастикой: 'workheet $ aspera2 <- рабочий лист $ date.of.first.positive> = '2011-07-01' + рабочий лист $ date.of.first.positive> '2012 -10-01'' –