我以前没有R的经验,但过去几周必须动手学习。 基本上,我要做的是从一系列文件中读取某个变量并将其保存为csv-table。该变量具有过去20年中每年每月的小时值,并且必须针对不同的地理位置进行读取。
因此每年将有12个文件(每个月1个),每个文件中变量的值将为696到744(取决于当月的天数×24小时)。
我所做的是用函数读取存储在目录中的所有12个文件的值,并将它们作为向量添加到lapply-list中:
Myfunction <- function(filename) {
nc <- nc_open(filename)
lon <- ncvar_get(nc, "lon")
lat <- ncvar_get(nc, "lat")
RW <- ncvar_get(nc, "X")
HW <- ncvar_get(nc, "Y")
pt.geo <- c(8.6810 , 50.1143)
dist <- sqrt( (lon - pt.geo[1])^2 + (lat - pt.geo[2])^2 )
ind <- which(dist==min(dist, na.rm=TRUE),arr.ind=TRUE)
sis <- ncvar_get(nc, "SIS", start=c(ind[1],ind[2],1), count=c(1,1,-1))
vec <- c(sis)
}
filenames <- list.files(path = "C:/Users/Desktop/VD/Solardaten/NC", pattern = "nc", full.names = TRUE)
output <- lapply(filenames, Myfunction)
这里开始我将“输出”保存为csv表的问题。输出将包含12个不同长度的矢量。
我希望在Excel中将它们设为12列(每月1次),每列应包含与本月值相同的行条目。
无论我尝试使用write.table,我都无法实现这一点(尝试将输出转换为矩阵,也没有成功)。 请帮忙!
这就是我希望每年看表的方式(我可以自己添加的列名):