R中不同维度的数据帧的相关性测试

时间:2018-05-01 16:53:29

标签: r correlation ranking

我在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 :(得分:0)

首先应合并两个数据框:

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

(注意:将by修改为&#34;县名和#34的标题;如果有下划线或我没有看到的东西)

然后,您可以对成对完整观察(例如)进行关联

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

查看?cor了解要使用哪些观察的其他选项,但仅对于2个变量,这相当于complete.obs