我有一层光栅文件。它显示了每个状态下的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")