当每个变量具有多个条件时创建距离矩阵?

时间:2016-07-29 20:52:27

标签: r matrix dataframe cluster-analysis data-science

我正试图在过去几年中创建美国某些州的数据距离矩阵。现在,数据的格式为:

State   Condition   2016   2015   2014   2013
Alabama         A      1      2      3      4
Alaska          A      2      3      4      5
Arizona         A      3      4      5      6
Alabama         B      4      3      2      1
Alaska          B      5      4      3      2
Arizona         B      6      5      4      3
Alabama         C      3      4      5      6
Alaska          C      2      3      4      5
Arizona         C      1      2      3      4

现在在正常距离矩阵中,每个状态只有1行,然后您可以在剩余的数字矩阵上使用dist()。但是,因为每个州都有3个不同的条件dist()不起作用,我想知道如何创建一个距离矩阵来解释不同年份的每个条件。我应该以不同方式表示我的数据或者是否有一个考虑我条件的距离矩阵计算器功能?

我正在寻找以下形式的距离矩阵:

               Alabama   Alaska   Arizona
    Alabama          -       1          2
    Alaska           1       -          3
    Arizona          2       3          -

如果我使用df %>% filter(Condition=='A') %>% dist()对其进行过滤,则这就是距离矩阵的样子。但是,我想知道如何创建类似的输出,同时保留所有3个条件的数据。

1 个答案:

答案 0 :(得分:0)

您可以将数据透视为每个州拥有一行,每个condition_year包含一列。

然后您可以使用任何标准矢量距离指标。但是你应该在预处理,缩放,标准化,加权方面付出很多关注。