为什么这段代码单独可以运行放在循环里day2就是空的怎么改day1 - df filteryear == year StageName == sowing selectsimulation_days day2 - df filteryear == year+1 &StageName == maturity selectsimulation_days
这段代码单独可以运行的原因是因为它使用了指定的year值进行筛选和选择操作。但是,如果将这段代码放在循环中使用,其中的year值将会发生变化,导致筛选操作无法正确执行,因此day2会变为空。
为了解决这个问题,你可以在循环中使用一个变量来保存每次的year值,并在筛选操作中使用该变量。例如:
for (year in unique(df$year)) {
day1 <- df %>%
filter(year == year, StageName == "sowing") %>%
select(simulation_days)
day2 <- df %>%
filter(year == year+1 & StageName == "maturity") %>%
select(simulation_days)
# 在这里使用day1和day2进行后续操作
}
通过这种方式,每次循环都会使用不同的year值进行筛选操作,保证了day2的正确性。
原文地址: https://www.cveoy.top/t/topic/hUNv 著作权归作者所有。请勿转载和采集!