Корреляционный тест для фреймов данных разных размеров в R - PullRequest
0 голосов
/ 01 мая 2018

У меня есть два кадра данных в R, каждый из которых содержит ранжирование переменных от наивысшего к низшему. Вот два простых примера из них:

Cali_Income

County    Income   Rank
county a       46000     1
county b       29000     3
county c       33000     2

Cali_Asthma_Rates

County   Diagnoses  Rank
county a      0.100       4
county b      0.200       1
county c      0.150       3
county d      0.190       2
county e      0.080       5

Я хочу посмотреть, есть ли какая-либо корреляция между двумя рейтингами округов, но в данных Cali_Asthma_Rates есть больше переменных, поэтому при попытке выполнить следующее я получаю ошибку "несовместимые измерения":

cor(as.numeric(Cali_Asthma_Rates$Rank), as.numeric(Cali_Income$Rank), method="spearman")

Есть ли способ найти корреляцию между рангами, не удаляя лишние графства из Cali_Asthma_Rates? В основном я просто пытаюсь найти какой-либо статистический метод, чтобы увидеть, имеют ли округа, занимающие высокие места в Cali_Income, также высокие места в Cali_Asthma_Rates. Помощь будет высоко ценится!

1 Ответ

0 голосов
/ 01 мая 2018

Вы должны начать с объединения двух фреймов данных:

Cali_combined <- merge(Cali_Income, Cali_Asthma_Rates,
  by = `County Name`,
  suffixes = c(".Income", ".Asthma_Rate"))
head(Cali_combined)

(примечание: исправьте заголовок для "Название округа", если есть подчеркивание или что-то, чего я не видел)

Затем вы можете сделать свою корреляцию по попарно полным наблюдениям (например)

with(Cali_combined, 
  cor(Rank.Income, Rank.Asthma_Rate,
    use = "pairwise.complete.obs",
    method = "spearman")
)

Посмотрите на ?cor другие варианты использования наблюдений, но только для 2 переменных это эквивалентно complete.obs.

...