"f1 <- import("E:/trainingdata/wheatOUTfile/75csv/Hebei_bazhou.csv") \n#year i <- 1981

ii <- i+1

f1$day <- as.numeric(f1$day)

#the doy at sowing a <- filter(f1, year == i, StageName == "sowing")$day

b <- filter(f1, year == ii, StageName == "maturity")$day

f2 <- filter(f1, (year == i) & (day >= a))

f3 <- filter(f1, (year == ii) & (day <= b))

df <- rbind(f2, f3)

#df$sowyear <- 1981

mint <- df$MinT maxt <- df$MaxT

gdd <- gdd_calc(mint, maxt)

df$GDD <- gdd

###----------------------------------------------------------------------------

outfile <- data.frame()

for (i in 1981: 2018){ print(i) ii <- i+1

f1$day <- as.numeric(f1$day)

#the doy at sowing a <- filter(f1, year == i, StageName == "sowing")$day

b <- filter(f1, year == ii, StageName == "maturity")$day

f2 <- filter(f1, (year == i) & (day >= a))

f3 <- filter(f1, (year == ii) & (day <= b))

df <- rbind(f2, f3) #df$sowyear <- 1981

mint <- df$MinT maxt <- df$MaxT

gdd <- gdd_calc(mint, maxt)

df$GDD <- gdd

avg_temperature <- mean(df$MaxT, na.rm = TRUE) avg_vpd <- mean(df$vpd_est, na.rm = TRUE) total_Radn <-sum(df$Radn, na.rm = TRUE) total_rainfall <-sum(df$Rain, na.rm = TRUE)

total_GDD <- sum(gdd, na.rm = TRUE) # Calculate total GDD

Calculate the difference between sum_sowing and sum_maturity for the current year

sw_columns <- c("sw(1)", "sw(2)", "sw(3)", "sw(4)", "sw(5)", "sw(6)" ) sum_sowing <- sum(df[df$StageName == "sowing", sw_columns], na.rm = TRUE) sum_maturity <- sum(df[df$StageName == "maturity", sw_columns], na.rm = TRUE) difference <- sum_sowing - sum_maturity

df$total_gdd <- total_GDD df$Maxtmean <- avg_temperature df$rainfall <- total_rainfall df$VPD <- avg_vpd df$total_Radn <- total_Radn df$SWS <- difference if (i == 1981) { outfile <- df } else { outfile <- rbind(outfile, df) } }

outfile %>% export("E:/trainingdata/wheatOUTfile/75csv/Hebei_bazhouout.csv", row.names = FALSE)

outfile_maturity <- outfile[outfile$StageName == "maturity", ] outfile_maturity %>% export("E:/trainingdata/wheatOUTfile/75csv/Hebei_bazhouout_maturity.csv", row.names = FALSE)

这是计算一个文件中连续年的结果,现在需要遍历文件夹中所有的文件,将计算结果输出到一个csv文件中,并增加一列为每个原始文件的名字内容:您可以使用以下代码来遍历文件夹中的所有文件,并将计算结果输出到一个CSV文件中,并添加一列为每个原始文件的名字:

# 获取文件夹中所有CSV文件的路径
folder_path <- \"E:\/trainingdata\/wheatOUTfile\/75csv\/\"
file_paths <- list.files(path = folder_path, pattern = \"*.csv\", full.names = TRUE)

# 创建一个空的结果数据框
result <- data.frame()

# 遍历每个文件
for (file_path in file_paths) {
  # 导入文件数据
f1 <- read.csv(file_path)
  
  # 处理文件数据...
  
  # 计算结果...
  
  # 添加原始文件名列
df$filename <- basename(file_path)
  
  # 将结果添加到结果数据框
result <- rbind(result, df)
}

# 将结果输出到CSV文件
output_file <- \"E:\/trainingdata\/wheatOUTfile\/75csv\/combined_results.csv\"
write.csv(result, output_file, row.names = FALSE)

请注意,您需要根据您的文件夹路径和文件命名模式进行相应的更改。

小麦生长季度GDD、降雨量和气象变量计算:河北省霸州地区

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

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