Расчет корреляции

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Аватара пользователя
Zhenya Lazarev
Интересующийся
Сообщения: 43
Зарегистрирован: 10 дек 2007, 18:33
Репутация: 0
Откуда: Москва

Расчет корреляции

Сообщение Zhenya Lazarev » 29 июл 2008, 16:27

Попытался рассчитать корреляцию между двумя наборами данных в R, но после введения следующих команд выскакивает ошибка:

Код: Выделить всё

> local({pkg <- select.list(sort(.packages(all.available = TRUE)))
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> set1 = read.dbf(file.choose())
> str(set1)
'data.frame':   24014 obs. of  3 variables:
 $ lat    : num  65.9 67.9 69.6 71.3 73.5 ...
 $ lon_180: num  -86.0 -86.2 -86.7 -87.0 -87.3 ...
 $ ht_m   : num  -1013 -1420 -1199  -346 -2636 ...
 - attr(*, "data_types")= chr  "N" "N" "N"
> dim(set1)
[1] 24014     3
> set2 = read.dbf(file.choose())
> str(set2)
'data.frame':   75070 obs. of  3 variables:
 $ b         : num  -180 -180 -180 -180 -180 ...
 $ l         : num  62.2 62.8 63.2 64.2 64.8 ...
 $ POINT_ELEV: num  -38.8 182.5 937.5 520.0 700.0 ...
 - attr(*, "data_types")= chr  "N" "N" "N"
> dim(set2)
[1] 75070     3
> plot(set1$ht_m,set2$POINT_ELEV)
Ошибка xy.coords(x, y, xlabel, ylabel, log) : 
  'x' and 'y' lengths differ
Возможно дело в том, что в наборах разное количество записей?

Когда же хочешь узнать само значение корреляции, то:

Код: Выделить всё

> cor(set1$ht_m,set2$POINT_ELEV)
Ошибка в cor(set1$ht_m, set2$POINT_ELEV) : несовместимые размерности...
И в продолжение следующий вопрос - нельзя ли для рассчета корреляции использовать аркгисовский Geostatistical Analyst?
Вложения
MyBase_kusok_small.dbf
(15.08 КБ) 1202 скачивания
Randy_kusok_small.dbf
(12.27 КБ) 815 скачиваний
Все нормально

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Расчет корреляции

Сообщение Максим Дубинин » 30 июл 2008, 02:04

Да, ошибка правильная вылезает для корреляции надо чтобы наборы были одного размера (количество элементов в 1=количеству элементов во 2).

Затем, я глянул примеры, а как это вобще коррелировать то? На картинке - черные точки - randy, красные - mybase. Это нельзя так влоб. Я бы взял черные - снял ими значения с растра по которому получены красные (ведь есть же он?), а потом уже считал.

Изображение
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Zhenya Lazarev
Интересующийся
Сообщения: 43
Зарегистрирован: 10 дек 2007, 18:33
Репутация: 0
Откуда: Москва

Re: Расчет корреляции

Сообщение Zhenya Lazarev » 30 июл 2008, 02:20

Да, растр конечно есть - попробуем! Большое спасибо за ответ:)!
Все нормально

Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость