SAS / R计算两组之间的距离

时间:2011-11-30 17:14:33

标签: r sas distance

我想计算两组之间的距离。 我很困惑。

我有两个数据集。一个是关于公司,一个是关于员工。

我想知道他们的年龄(雇用雇员的公司和雇员)是否相似。 我想我也需要标准化..

  1. 计算每个人与公司之间的欧几里德距离。 (公司4-5人)
  2. 计算每个人与行业级公司之间的欧几里德距离。
  3. 我的数据集是这样的:

    person person_age    company company_age industry              
    
    1        50             1       5         1
    
    2        40             1       5         1
    
    3        30             2        1        1
    
    4        20             2        1        1
    
    5        25             3        8        2
    

    以下代码将重现我的data.frame:

    person <- 1:5
    person_age <- c(50,40,30,20,25)
    company <- c(1,1,2,2,3)
    company_age <- c(5,5,1,1,8)
    industry <- c(1,1,1,1,2)
    myData <- data.frame(person, person_age, company, company_age, industry)
    

    请帮帮我。 我不介意使用SAS或R. 我很困惑。

2 个答案:

答案 0 :(得分:3)

因此,如果您只想在每个人年龄的欧几里德距离,您可以执行以下操作:

d <- dist(myData[c("person","person_age")])

你的问题仍然令人难以置信的错误。例如,“计算每个人和公司之间的[原文]欧几里德距离”是什么意思?

如果您只是想知道每个人与他们工作的公司之间的距离,您可以将其编码为:

 with(myData, ((person_age - company_age)^2)^.5 ) 

这只是2d欧几里德距离公式

答案 1 :(得分:-4)

This post讨论了计算欧几里德距离的问题。将数据转换为两个向量,然后按照步骤进行操作。