我在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中排名很高。非常感谢帮助!
答案 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
。