For循环获取日期范围R
For loop to get a range of dates R
希望你能帮帮我!
对于列中的所有日期,我想为每个日期获取一个范围 - 14 天。因此,例如,如果我列中的第一个日期是 29-04-2021,我想获取从 15-04-2021 到 29-04-2021 的日期。我找到了执行此操作的函数 seq 但要对我列中的所有值执行此操作,我需要将 seq 函数放在 for 循环中。
这是我尝试过的,但输出只是最后一行并且日期格式发生了变化。这是我的代码(test_IIVAC$'Vacdate 1' 是我的日期专栏):
df <- data.frame()
for(i in 1:length(test_IIVAC$`Vacdate 1`)){
te <- as.Date(seq(test_IIVAC$`Vacdate 1`[i]-14, test_IIVAC$`Vacdate 1`[i], by = "day"))
df1 <- rbind(df, te)
}
任何人都可以帮助我获取列中所有日期的范围并将它们放在一个具有日期格式的数据框中吗?所需的输出将是:
Output
非常感谢!
您可以使用任何应用命令生成日期值序列并将其作为新列添加到原始数据框中。
test_IIVAC$dates <- lapply(df$a, function(x) seq(x-14, x, by = 'day'))
希望你能帮帮我! 对于列中的所有日期,我想为每个日期获取一个范围 - 14 天。因此,例如,如果我列中的第一个日期是 29-04-2021,我想获取从 15-04-2021 到 29-04-2021 的日期。我找到了执行此操作的函数 seq 但要对我列中的所有值执行此操作,我需要将 seq 函数放在 for 循环中。 这是我尝试过的,但输出只是最后一行并且日期格式发生了变化。这是我的代码(test_IIVAC$'Vacdate 1' 是我的日期专栏):
df <- data.frame()
for(i in 1:length(test_IIVAC$`Vacdate 1`)){
te <- as.Date(seq(test_IIVAC$`Vacdate 1`[i]-14, test_IIVAC$`Vacdate 1`[i], by = "day"))
df1 <- rbind(df, te)
}
任何人都可以帮助我获取列中所有日期的范围并将它们放在一个具有日期格式的数据框中吗?所需的输出将是:
Output
非常感谢!
您可以使用任何应用命令生成日期值序列并将其作为新列添加到原始数据框中。
test_IIVAC$dates <- lapply(df$a, function(x) seq(x-14, x, by = 'day'))