У меня есть фрейм данных, и у меня есть дублированные строки, основанные на разнице между двумя датами: Дата (дата сбора образцов) и штриховка (дата рождения) с использованием следующего кода.Разница (в основном продолжительность жизни в месяцах) варьируется от 4 до 12 месяцев:
library(zoo)
test$difference <- 12 * as.numeric(as.yearmon(test$Date) - as.yearmon(test$hatch))
test$difference <- ceiling(test$difference)
test2 <- test[rep(row.names(test), test$difference),]
Мне нужно создать последовательность для каждого образца (каждый из которых имеет уникальный серийный номер, sn), начиная с даты штриховки,увеличивается с шагом в 1 месяц и имеет длину, равную значению в столбце различий.Я пробовал цикл, но я не мог понять, как его сформулировать, так как я совсем новичок в R.
На данный момент даты имеют формат% Y-% m-% d, но яинтересует только месяц и год группировки.
Любые идеи были бы действительно полезны:)
structure(list(Sex = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("F", "J", "M"), class = "factor"),
Maturity = c(5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L), XLength = c(12, 12, 12, 12, 12, 12, 12,
12, 12, 16.5, 16.5, 16.5, 16.5, 16.5, 16.5), Weight = c(44.1,
44.1, 44.1, 44.1, 44.1, 44.1, 44.1, 44.1, 44.1, 73.6, 73.6,
73.6, 73.6, 73.6, 73.6), Ringcount = c(232L, 232L, 232L,
232L, 232L, 232L, 232L, 232L, 232L, 225L, 225L, 225L, 225L,
225L, 225L), Date = structure(c(10480, 10480, 10480, 10480,
10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480,
10480, 10480), class = "Date"), hatch = structure(c(10248,
10248, 10248, 10248, 10248, 10248, 10248, 10248, 10248, 10255,
10255, 10255, 10255, 10255, 10255), class = "Date"), sn = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2), difference = c(9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9)), .Names = c("Sex",
"Maturity", "XLength", "Weight", "Ringcount", "Date", "hatch",
"sn", "difference"), row.names = c(NA, 15L), class = "data.frame")