这段代码单独可以运行的原因是因为它使用了指定的year值进行筛选和选择操作。但是,如果将这段代码放在循环中使用,其中的year值将会发生变化,导致筛选操作无法正确执行,因此day2会变为空。\n\n为了解决这个问题,你可以在循环中使用一个变量来保存每次的year值,并在筛选操作中使用该变量。例如:\n\n\nfor (year in unique(df$year)) {\n day1 <- df %>%\n filter(year == year, StageName == "sowing") %>%\n select(simulation_days)\n \n day2 <- df %>%\n filter(year == year+1 & StageName == "maturity") %>%\n select(simulation_days)\n \n # 在这里使用day1和day2进行后续操作\n}\n\n\n通过这种方式,每次循环都会使用不同的year值进行筛选操作,保证了day2的正确性。


原文地址: https://www.cveoy.top/t/topic/pDTV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录