我有20个文件中的20个站点(像Bariko.txt这样的txt格式)。我想在同一个目录中使用(20)个不同的站名(如bariko_result.txt)将结果保存到另一个文件中(在20个单独的文件中),同时在一个脚本中使用循环进行计算。 这是一个例子:
library(dplyr)
data=read.csv("~/Task/New_Job/Stations_data/Bariko.txt",header=T,sep="\t")
data_filtered = filter(data, Month == 2 | Month == 3)
write.table(data_filtered, file = "bariko_result.txt", quote =FALSE,
row.names=FALSE, col.names = TRUE)
station build Year Month
1 Bariko 24.5 1961 1
2 Bariko 29.1 1962 1
3 Bariko 26.4 1963 1
4 Bariko 29.0 1961 2
5 Bariko 22.0 1962 2
6 Bariko 25.9 1963 2
7 Bariko 24.2 1961 3
8 Bariko 23.9 1962 3
9 Bariko 24.4 1963 3
10 Bariko 24.0 1961 4
11 Bariko 24.2 1962 4
12 Bariko 24.8 1963 4
我可以为一个站做到但是20这需要花费太多时间。 谢谢。
答案 0 :(得分:1)
这应该这样做。
Input <- paste0(formatC(1:20, width = 2, flag = "0"),".txt")
Output <- paste0(formatC(1:20, width = 2, flag = "0"), "_result.txt")
data <- list()
data_filtered <- list()
for (i in 1:length(Input)){
data[[i]] <- read.csv(Input[i], header = T, header=T,sep="\t")
data_filtered[[i]] <- filter(data[[i]], Month == 2 | Month == 3)
write.table(data_filtered[[i]], file = Output[i], quote =FALSE,
row.names=FALSE, col.names = TRUE)
}