权重

时间:2018-02-12 10:47:50

标签: r cluster-computing cluster-analysis hierarchical-clustering

我有一个数据框'加热'展示人们在不同时间的表现。

' VAR1'代表人的代码。

' VAR2'表示时间线(从起点开始的天数测量)。

'变量'是他们在给定时间点得到的分数。

     Var1       Var2      value
1       1   36       -0.6941826
2       2   36       -0.5585414
3       3   36        0.8032384
4       4   36        0.7973031
5       5   36        0.7536959
6       6   36       -0.5942059
  ....
54     10   73        0.7063218
55     11   73       -0.6949616
56     12   73       -0.6641516
57     13   73        0.6890433
58     14   73        0.6310124
59     15   73       -0.6305091
60     16   73        0.6809655
61     17   73        0.8957870
  ....
101    13  110        0.6495796
102    14  110        0.5990869
103    15  110       -0.6210600
104    16  110        0.6441960
105    17  110        0.7838654
  ....

现在我想将其性能聚类并将其反映在热图上。所以我使用函数dist()和hclust()来聚集数据框并用ggplot2绘制它:

ggplot(data = heat) + geom_tile(aes(x = Var2, y = Var1 %>% as.character(), 
fill = value)) +
  scale_fill_gradient(low = "yellow",high = "red") +
  geom_vline(xintercept = c(746, 2142, 2917))

看起来像这样:enter image description here

但是,我对第746天,第2142天和第2917天(黑线)发生的事情更感兴趣。我希望这些天的分数在聚类中更重要。我希望那些表现出类似性能的人能够更加优先地聚集在一起。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

只要你的权重是整数,你就可以人为地复制那些日子。

如果您想要更多控制,只需自己计算距离矩阵,使用您想要使用的任何加权距离。