Как программировать цикл с несколькими командами?

Мой файл данных - следующий (df1)

introducir la descripción de la imagen aquí

Я должен делать рукописный шрифт (что я предполагаю, что способ больше прямая программирования этого будет с blucle), чтобы вычислять интервал между датой родов (fparto) и дата оплодотворения (fechaIA) немедленно последующей линии, всякий раз когда crotal был тем же самым.

Как пример я возьму животное линий 2 4:

Я должен создавать новую колонну (df1$intervalo), которая в Вашу линию 2 помещала бы результат уменьшения fparto линии 2 и fechaIA линии 3 (что dá 7 месяцев или 207 дней), которая в линию 3 помещает результат уменьшения fparto линии 3 и fechaIA линии 4 (5 месяцев или 139 дней) и которая в линию 4 поместила 0. Потом, рукописный шрифт должен быть способен идентифицировать, что линия 5 соответствует другому животному, он должен начинать делать ту же операцию так часто как это животное появилось, и я схватил последовательно. Каковым был бы лучший способ это делать?

Я помещаю пример, как он хотел, чтобы остался df с исчисленным интервалом:

introducir la descripción de la imagen aquí

1
задан 13.11.2019, 16:25
1 ответ

Мы можем вооружать одну funciГіn, что сделал различие между fparto, и versiГіn прокрученная в элементе колонны FechaIA

restar_fechas <- function(grupo) {
  ln <- length(grupo$fparto)
  c(grupo$FechaIA[2:ln], NA)[1:ln] - grupo$fparto
}

Сейчас просто мы отделяем каждую группу crtotal в элементах списка посредством split()

lista <- split(df1, df1$crtotal)

И применяем эту к каждой группе funciГіn, посредством lapply(), который не состоит mГЎs в том, что цикл implГ - назначил встречу, и в конце концов, после unlist() у нас будет стоимость для колонны intervalo

df1$intervalo <- unlist(lapply(lista, restar_fechas))
1
ответ дан 01.12.2019, 12:42
  • 1
    Рукописный шрифт вычисляет то, в чем я нуждаюсь в perfecció n, но у меня есть проблема и дело в том, что он не пишет результат в линии, который я хочу, có mo я это получаю?. Я буду издавать вопрос для того, чтобы ты видел. Большое спасибо из-за твоей помощи – Caro 13.11.2019, 16:20