Как рассчитать соотношение двух переменных в огромном наборе данных в R? - PullRequest
6 голосов
/ 26 сентября 2011

У меня есть огромный набор данных с шестью столбцами (назовите их A, B, C, D, E, F), около 450 000 строк. Я просто попытался найти корреляцию между столбцами A и B:

cor(A, B)

и я получил

[1] НС

в результате. Что я могу сделать, чтобы решить эту проблему?

Ответы [ 2 ]

13 голосов
/ 26 сентября 2011

Попробуйте cor(A,B, use = "pairwise.complete.obs"). Это будет игнорировать АН в ваших наблюдениях.

Чтобы быть статистически точным, вы также должны взглянуть на количество пропущенных записей в ваших данных и выяснить, верно ли предположение о пропущенных случайных данных.

Редактировать 1: взгляните на ?cor, чтобы увидеть другие варианты параметра use.

4 голосов
/ 26 сентября 2011

Вы можете рассмотреть возможность использования функции rcorr в пакете Hmisc.

Это очень быстро и включает только попарно полные наблюдения. Возвращаемый объект содержит матрицу

  1. баллов корреляции
  2. с количеством наблюдений, используемых для каждого значения корреляции
  3. р-значения для каждой корреляции

Некоторые примеры кода доступны здесь :

...