如何在不使用函数的情况下计算R中的相异度?

时间:2014-04-21 22:15:34

标签: r

我的数据如下:

class atrribute1 attribute2 attribute3
1     21362      97         437
1     312312     3123       341
2     97987      7227       112
3     8398       333        333

我尝试根据trribute1,2,3进行class的相异度计算。并假设输出3x3不相似矩阵。

我在网上查了很多功能,但没有人处理这类数据。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以计算每个类的所有观测值的平均属性值,然后计算类之间的成对距离:

# Just to see the aggregated data
aggregate(.~class, data=dat, mean)
#   class atrribute1 attribute2 attribute3
# 1     1     166837       1610        389
# 2     2      97987       7227        112
# 3     3       8398        333        333

# Compute pairwise distances
dist(aggregate(.~class, data=dat, mean)[2:4], diag=T, upper=T)
#           1         2         3
# 1      0.00  69079.30 158444.16
# 2  69079.30      0.00  89854.13
# 3 158444.16  89854.13      0.00