2015-08-19 3 views
4

Мне нужно выполнить парную корреляцию Пирсона между 19 растровыми слоями для Africa Continent, извлеченными из базы данных WordClim. Я хочу проверить, какие уровни переменных более коррелированы/значимы для моей модели. Для этого я попытался использовать функцию layerStats из растрового пакета, но после выполнения мой вывод не содержит числовых значений, все строки и столбцы отображали значения NA. Ниже мой сценарий.Сопряженная корреляция между растровыми слоями в R

#Loading raster files from WorldClim database 
rastFiles<- list.files(pattern="bil") 
a<-stack(rastFiles) 

# Adjusting for African Continent 
newext<-c(-20, 55, -35, 45) 
Africa<-crop(a,newext) 
Africa 

#Correlation 
cor<-layerStats(Africa,'pearson') 
+0

Если вы используете г, добавьте соответствующий тег. – m69

+0

Извините, я забыл определить язык программирования, я использую R. –

ответ

3

В г, просто используйте код ниже, гарантируя, что вы имеете na.rm = T дело НСБУ через слои:

library(raster)  
jnk=layerStats(raster_stack, 'pearson', na.rm=T) 
corr_matrix=jnk$'pearson correlation coefficient' 
+0

привет, у вас есть идеи, почему моя функция layerStats может вернуться «Ошибка: сбой во время растрового ввода-вывода»? Перед укладкой 2 растров мне пришлось изменить размер одного, чтобы соответствовать другому. благодаря – Sam

Смежные вопросы