我有一个数据框'加热'展示人们在不同时间的表现。
' 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))
但是,我对第746天,第2142天和第2917天(黑线)发生的事情更感兴趣。我希望这些天的分数在聚类中更重要。我希望那些表现出类似性能的人能够更加优先地聚集在一起。有没有办法做到这一点?
答案 0 :(得分:1)
只要你的权重是整数,你就可以人为地复制那些日子。
如果您想要更多控制,只需自己计算距离矩阵,使用您想要使用的任何加权距离。