用于选择控制地区的马氏距离

问题描述

我在统计,编码和R方面还很陌生,因此提前致歉。我硕士的项目是在18个接受自然实验的治疗县和18个对照县中使用差异模型的差异。我浏览了几篇有关区域经济发展的论文,他们都使用马哈拉诺比斯距离来选择与治疗区域最接近的控制县或地区。 我的问题(或其中的一个问题)是R中的基本Mahalanobis函数似乎只能计算相对于特定数据帧均值的Mahalanobis距离-对于查找异常数据有用,但对于将一个数据集与一系列其他。有没有办法得到治疗县和所有潜在控制县之间的马哈尔诺比斯距离? 我发现的一个建议以及我在下面尝试过的建议是在我的治疗县与所有控制县之间创建一个差异矩阵,然后采用该距离的马哈诺比斯距离(该部分代码也不起作用,但我认为我可以解决)。

#data frame
avery.diff

#trying and failing to create a difference matrix between my treatment county and the potential controls
for( i in 81:length(avery.diff) ) {
    avery.diff[i] <- avery.diff[i] - avery.diff[82]
}

#Because mahalanobis is by rows,not columns,I've piVoted my data frame from counties being column titles to being rows 

avery.diff <- t(avery.diff)

distance.avery <- mahalanobis(x = avery.diff,center = colMeans(avery.diff),cov = cov(avery.diff),inverted = TRUE)

#As soon as I try to add distance.avery back as a column onto the avery.diff data set it transforms into a list. 
#Also all the Mahalnobis distances are in the trillions

马哈拉诺比斯距离似乎是我所需要的,但是我对概念数学或R不够自信,无法尝试解构该函数并以给我想要的方式复制它。代码是一团糟,但是即使我修复了我所拥有的东西,我也不会拥有我想要的东西。非常感谢R代码或概念方面的任何建议!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...