У меня есть кадр данных с столбцом даты под названием «End_Date». Я хочу добавить новый столбец «Start_Date», который вычисляет день после предыдущего «End_Date». Например:R Вычислить дату на основе дат в последовательных строках в кадре данных
End_Date <-as.Date(c("2010-11-01", "2010-11-18", "2010-11-26"))
dates <-data.frame(End_Date)
В этом примере новый столбец 'Дата начала', чтобы выглядеть следующим образом: даты $ Дата_начала < -as.Date (с (NA, "2010-11-02", «2010 -11-19"))
Я попытался с помощью sapply, но получаю сообщение об ошибке о том, что новый столбец имеет один слишком мало строк:
dates$Start_Date <-sapply(2:nrow(dates),
function(i) (dates$End_Date[i]-dates$End_Date[i-1]))
Здесь я создал фрейм данных только с 3 рядами как пример, но мне нужно решение, которое я могу применить к кадрам данных с большим количеством строк.
'as.Date (с (NA, (конец + 1) [- длина (end)]), origin = "1970-01-01") ' –
Я создал фрейм данных с 3 строками для этого примера. Но мне нужно будет сделать это для фрейма данных с ~ 700 строк, так что я ищу какой-то цикл или функцию для этого – user3791234
Зачем вам выбирать его, когда вам не нужно? Неважно, сколько строк есть. Это векторная операция –