Извлечение данных WorldClim в R, но некоторые месяцы отсутствуют - PullRequest
0 голосов
/ 21 февраля 2020

У меня был вопрос, касающийся извлечения данных WorldClim в R, и я получил отличную помощь ( Извлечение данных WORLDCLIM с использованием R для одной страны )

Решение работает нормально, но теперь я сталкиваюсь с отдельный вопрос.

Я выполняю следующий код для извлечения и сохранения месячных данных WorldClim для минимальной температуры в формате .cvs

library(sp)
library(rgeos)
library(rgdal)
r<- getData('CMIP5', var='tmin', res=10, rcp=45, model='HE', year=70)
r <- r[[c(1,12)]]
poly <- shapefile("C:/Users/pc5/Desktop/r1//2011_Dist.shp")
plot(poly)
pr <- extract(r, poly, fun='mean', na.rm=TRUE, df=TRUE, weights = TRUE) 
write.csv(cbind(poly$DISTRICT,ex),"Worldclim.csv", row.names = F)

Однако, когда я извлекаю и сохраняю данные, я получаю только три переменные: DISTRICT имя, TMIN для месяца 1 и TMIN для месяца 12. Я вижу, что когда я запускаю код

ex <- extract(r, poly, fun='mean', na.rm=TRUE, df=TRUE, weights = TRUE) 

, он извлекает только 3 переменные, а не 13 (12 месяцев + название района), хотя я вижу, что Данные за все 12 месяцев загружаются в папку по умолчанию в формате Geotiff. Что я делаю не так?

1 Ответ

0 голосов
/ 21 февраля 2020

Запустите код без r <- r[[c(1,12)]], вы получите желаемый результат. r <- r[[c(1,12)]] часть кода, заходящая только на 1 и 12 месяцев из стека растровых данных за 12 месяцев. Вы можете убедиться, что с помощью следующего кода

r<- getData('CMIP5', var='tmin', res=10, rcp=45, model='HE', year=70)
r #will show you dimensions  : 900, 2160, 1944000, 12  (nrow, ncol, ncell, nlayers)
r1 <- r[[c(1,12)]]
r1 #will show you dimensions  : 900, 2160, 1944000, 2  (nrow, ncol, ncell, nlayers)
plot(r) #Plot of all the 12 months
plot(r1) #Plot of only 1 and 12 month

я также отредактировал свой предыдущий ответ.

...