Коэффициенты корреляции для фрейма данных пространственных полигонов - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть фрейм данных пространственных полигонов, и меня интересует матрица коэффициентов корреляции для моих переменных. Команда

    >cor(df)

возвращает следующую ошибку:

    >Error in cor(MergedData) : supply both 'x' and 'y' or a matrix-like 'x'

Я могу получить попарные коэффициенты, если выполню следующую команду

    >cor.test(df$var1, df$var2)

Однако, поскольку у меня 15 переменных, мне нужно будет выполнить более 200 команд. Есть ли способ, которым я мог бы сделать это быстрее, то есть вернуть матрицу коэффициентов корреляции все в одной таблице?

Заранее спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

cor работает только для фреймов данных или матриц. Вам нужно извлечь слот data из SpatialPolygonsDataFrame:

grd <- GridTopology(c(1,1), c(1,1), c(10,10))
polys <- as(grd, "SpatialPolygons")
centroids <- coordinates(polys)
x <- centroids[,1]
y <- centroids[,2]
z <- 1.4 + 0.1*x + 0.2*y + 0.002*x*x
ex_1.7 <- SpatialPolygonsDataFrame(polys,
                                   data=data.frame(x=x, y=y, z=z, row.names=row.names(polys)))

class(slot(ex_1.7, "data"))
cor(slot(ex_1.7, "data"))

Пример SpatialPolygonsDataFrame из документов по адресу: ??sp::`SpatialPolygonsDataFrame-class`

...