【问题标题】:Mahalanobis distance between profiles in RR中轮廓之间的马氏距离
【发布时间】:2016-04-04 16:53:06
【问题描述】:

对 100 名受试者的样本进行了两次性格测试。这些测试的措辞略有不同,但大体相同,即它们都测量相同的 4 种态度。因此,我有 2 个这样的矩阵,每个科目有 4 个分数:

>test1
subj     A1     A2     A3     A4
   1  -2.14   1.21   0.93  -1.72
   2   0.25   1.17   0.67   0.67

>test2
subj     A1     A2     A3     A4
   1  -1.99   1.11   1.00  -1.52
   2   0.24   1.20   0.71   0.65

我想评估两个测试中个人资料的相似性,即每个人的两组 4 个分数的相似性。我觉得马氏距离是我需要的度量,我检查了一些包(HDMD、StatMatch)但找不到合适的函数。

【问题讨论】:

  • R 的基础安装中有一个 mahalanobis 函数,这是你想要的吗?如果没有,本文讨论了一些功能:stackoverflow.com/questions/18658961/…
  • 据我了解,基础安装中的函数计算一个矩阵中所有行的距离,另一篇文章中的讨论是关于计算一个矩阵中的一个观测值与所有观测值的距离在另一个矩阵中。我想要将一个矩阵中的一组值与另一个矩阵中的一组值进行比较,最终得到 100 个距离值 - 每个主题一个。

标签: r distance profiles mahalanobis


【解决方案1】:

一种方法是创建一个差值矩阵,然后根据差值计算马氏距离。

testDiff <- test1 - test2
testDiffMahalanobis <- mahalanobis(testDiff, 
                                   center = colMeans(testDiff),
                                   cov = cov(testDiff))

【讨论】:

    猜你喜欢
    • 2016-04-14
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2016-04-21
    相关资源
    最近更新 更多