1
我有几个netcdf文件,我想提取到文本文件,但我发现A,B,C
在输出文件es55.txt
的第一个值(从第一个文件)重复整个文本文件,所以循环不采取值其他文件 代码:为什么在R中循环时重复第一个值?
library("ncdf")
a<-list.files("C:\\Users\\CLdata", "*.nc", full.names = TRUE)
dt <- as.POSIXct(strptime(basename(a), "data_%Y%m%dT%H%M%S_%Y%m%dT%H%M%S", tz = "GMT"))
for(i in 1:length(a)){
f <- open.ncdf(a[i])
A = get.var.ncdf(nc=f,varid="Sgf",verbose=TRUE)
B <- get.var.ncdf(nc=f,varid="gh")
C <- get.var.ncdf(nc=f,varid="jk")
df=data.frame(date = dt, A, B ,C) }
write.table(df,file="es55.txt")
例如:
"date" "A" "B" "C"
"1" 2010-09-29 23:59:59 0.0191961424604022 216 216
"2" 2010-09-29 23:59:59 0.0191961424604022 216 216
"3" 2010-09-29 23:59:59 0.0191961424604022 216 216
"4" 2010-09-29 23:59:59 0.0191961424604022 216 216
"5" 2010-09-29 23:59:59 0.0191961424604022 216 216
我想你需要一个'库'电话在那里。 'get.var.ncdf'从哪里来? –
你确定'es55.txt'包含来自* first *文件的数据吗?在你的循环中,你每次都覆盖'df',只用'df'的最后内容写入文件。所以我宁愿期待将* last *文件的内容('a [length(a)]')写入'es55.txt'。 – Stibu