R语言:从数据文件中提取小麦生长指标并计算统计量
"# 读取数据文件\n"df <- fread"("E:/trainingdata/wheatOUTfile/75csv/Hebei_bazhou.csv")\n"# 提取起始年份和结束年份\n"start_year <- 1981\n"end_year <- 2019\n"# 创建一个空的结果数据框\n"result <- data.frame(Year = integer(), Avg_Temperature = numeric(), Total_Rainfall = numeric(), gdd = numeric(), yield_at_maturity = numeric())\n"# 循环计算1981-2019年的结果\n"for (year in start_year:end_year) {\n" # 提取播种日期(day1)\n" day1 <- df %>%\n" filter(year == year, StageName == "sowing") %>%\n" select(simulation_days)\n" # 提取成熟日期(day2)\n" day2 <- df %>%\n" filter(year == year+1, StageName == "maturity") %>%\n" select(simulation_days)\n" # 计算平均温度\n" avg_temperature <- df %>%\n" filter(simulation_days >= day1[[1]] & simulation_days <= day2[[1]]) %>%\n" summarize(Avg_Temperature = mean(MaxT, na.rm = TRUE))\n" # 计算总降雨量\n" total_rainfall <- df %>%\n" filter(simulation_days >= day1[[1]] & simulation_days <= day2[[1]]) %>%\n" summarize(Total_Rainfall = sum(Rain, na.rm = TRUE))\n" # 计算gdd\n" gdd <- df %>%\n" filter(simulation_days >= day1[[1]] & simulation_days <= day2[[1]]) %>%\n" summarize(gdd = sum((MaxT+MinT)/2, na.rm = TRUE))\n" # 提取成熟时的产量\n" yield_at_maturity <- df %>%\n" filter(year == year+1, StageName == "maturity") %>%\n" select(yield)\n" # 将结果添加到结果数据框中\n" result <- rbind(result, data.frame(Year = year, Avg_Temperature = avg_temperature$Avg_Temperature, Total_Rainfall = total_rainfall$Total_Rainfall, gdd = gdd$gdd, yield_at_maturity = yield_at_maturity$yield))\n"} "# 循环中提取播种日期和成熟日期时,使用当前年份(year)进行筛选,而不是始终使用起始年份(start_year)。\n"# 这将确保每个循环迭代都提取到对应年份的日期。\n"# 另外,代码中的一些变量名(例如 results)也进行了调整,使其更符合R语言的命名规范。\n"# 代码中还加入了一些注释,以帮助理解代码的逻辑。\n"# 您可以根据自己的需要对代码进行进一步的修改和调整。\n"# 欢迎您提出问题,我会尽力解答!\n"# 如果您觉得本篇文章对您有所帮助,请点赞收藏分享,您的支持是我创作的动力!\n"# 祝您学习愉快!\n"# END\n"
原文地址: https://www.cveoy.top/t/topic/pDPc 著作权归作者所有。请勿转载和采集!