我有两个包含纬度、经度和温度数据的数据集。一个数据集对应于一个感兴趣的地理区域,对应的纬度/经度对构成该区域的边界和内容(矩阵维度 = 4518x2)
另一个数据集包含包含感兴趣区域的较大区域的纬度/经度和温度数据(矩阵维度 = 10875x3)。
我的问题是:如何从与第一个数据集的纬度/经度数据匹配的第二个数据集中提取适当的行数据(纬度、经度、温度)?
我尝试了各种“for loops”、“subset”和“unique”命令,但无法获得匹配的温度数据。
提前致谢!
10/31 编辑:我忘了提到我正在使用“R”来处理这些数据。
感兴趣区域的纬度/经度数据以 4,518 个文件的列表形式提供,每个文件的名称中包含纬度/经度坐标:
x<- dir()
lenx<- length(x)
g <- strsplit(x, "_")
coord1 <- matrix(NA,nrow=lenx, ncol=1)
coord2 <- matrix(NA,nrow=lenx, ncol=1)
for(i in 1:lenx) {
coord1[i,1] <- unlist(g)[2+3*(i-1)]
coord2[i,1] <- unlist(g)[3+3*(i-1)]
}
coord1<-as.numeric(coord1)
coord2<-as.numeric(coord2)
coord<- cbind(coord1, coord2)
纬度/经度和温度数据是从 NCDF 文件中获得的,其中包含 10,875 个纬度/经度对的温度数据:
long<- tempcd$var[["Temp"]]$size[1]
lat<- tempcd$var[["Temp"]]$size[2]
time<- tempcd$var[["Temp"]]$size[3]
proj<- tempcd$var[["Temp"]]$size[4]
temp<- matrix(NA, nrow=lat*long, ncol = time)
lat_c<- matrix(NA, nrow=lat*long, ncol=1)
long_c<- matrix(NA, nrow=lat*long, ncol =1)
counter<- 1
for(i in 1:lat){
for(j in 1:long){
temp[counter,]<-get.var.ncdf(precipcd, varid= "Prcp", count = c(1,1,time,1), start=c(j,i,1,1))
counter<- counter+1
}
}
temp_gcm <- cbind(lat_c, long_c, temp)`
所以现在的问题是如何从“temp_gcm”中删除与“coord”中的纬度/经度数据对相对应的值?