如何在回归模型中使用栅格数据

时间:2020-07-14 16:12:38

标签: r raster r-raster rasterizing

我有一层光栅文件。它显示了每个状态下的GSM覆盖范围。例如,彩色像素显示具有覆盖范围的区域。我想在回归模型中使用此信息。在回归中,我想将使用量回归为因变量,将覆盖率回归为自变量。因此,我打算使用栅格数据中显示的coverage像素作为coverage的代理。为此,我将栅格转换为数据框,然后将其导出到Excel。但是,我无法进行逐年比较,因为尽管不同年份的地图几乎相同,但转换后的数据框中的数据在年份之间却是如此。我尝试在0到1之间没有对数据进行归一化,但是看起来还是很奇怪。我想知道是否有我想念的东西。谢谢。请参阅下面的代码,将栅格数据转换为数据帧,

     str_name<-'G_2020.tif' 
     GSM_20=raster(str_name)
     GSM_20_states <- readOGR(dsn ="admbnda_adm1_ubos_v2", layer ="admbnda_adm1_UBOS_v2", verbose = FALSE)
GSM_20_df <- as.data.frame(GSM_20, xy = TRUE)
     rasStack = stack(GSM_20)
     pointCoordinates=coordinates(GSM_20_states)
     pointCoordinates = as.data.frame(pointCoordinates)
     colnames(pointCoordinates)[1]<-"long"
     colnames(pointCoordinates)[1]<-"lat"
     rasValue=extract(GSM_20, pointCoordinates,)
     rasValue=extract(GSM_20, GSM_20_states,                   fun=sum,na.rm=TRUE,df=TRUE)
     names<-GSM_20_states@data[["ADM1_EN"]]
     rasValue$admin1 = names
     write.csv(rasValue,"GSM_2020.csv")

0 个答案:

没有答案