繁体   English   中英

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

[英]SAS/R calculate distance between two groups

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

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

我想弄清楚他们的年龄(聘用雇员的公司和雇员的年龄)如何相似。 我想我也需要标准化。

  1. 计算每个人与公司之间的欧式距离。 (公司中有4-5人)
  2. 计算每个人与公司之间在行业层面上的欧式距离。

我的数据集是这样的:

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。我很困惑。

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

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

您的问题仍然异常严重。 例如,“计算每个人与一家公司之间的欧几里得距离”是什么意思?

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

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

这只是二维欧几里得距离公式

这篇文章讨论有关计算欧几里得距离。 将数据转换为两个向量,然后按照以下步骤操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM