我有這個功能,我想用50個不同的數據集運行五十(50)次。我必須每次更改第4,18和20行的索引。 (這是每次運行中唯一改變的參數)。使用R中函數內的索引,每次運行後增加1個單位
1 myfunc <- function(file){
2 library(ncdf)
3 setwd("C:\\Users\\Desktop\\data")
4 AMS <- read.csv("C:\\Users\\Desktop\\data\\myarray.***index***.csv",header=FALSE)
5
6 xval <- seq(-124.5,-101.5,by=1)
7 yval <- seq(31.5,48.5,by=1)
8 nx <- length(xval)
9 ny <- length(yval)
10 data_temp <- array(NA, dim=c(nx,ny))
11 for(i in 1:nx){
12 for(j in 1:ny) {
13 data_temp[i,j] <- (AMS[i,j])
14 }
15 }
16 dimx <- dim.def.ncdf("lon", "degreesE", xval,unlim=FALSE)
17 dimy <- dim.def.ncdf("lat", "degreesN", yval,unlim=FALSE)
18 dimt <- dim.def.ncdf("time", "year", ***index*** , unlim=TRUE)
19 vari <- var.def.ncdf("precipt", "mm/d", list(dimx,dimy,dimt),999999.999)
20 ncnew <- create.ncdf("output.***index***.nc", var)
21 put.var.ncdf(ncnew, vari,data_temp, start=c(1,1,1), count=c(nx,ny,1))
22 close.ncdf(ncnew)
}
有沒有什麼簡單的方法可以做到這一點?
這樣做'lapply(VEC,MYFUNC)',其中'myfun'將索引作爲唯一參數,'vec'是所有索引的向量。 – Thomas
你熟悉'paste'嗎? –