【发布时间】:2018-02-12 10:47:49
【问题描述】:
我有一个数据框“热度”来展示人们在一段时间内的表现。
'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 天(黑线)前后发生的事情更感兴趣。我希望这些天的分数在聚类中具有更大的权重。我希望这些天表现出类似表现的人们有更多的优先权聚集在一起。有没有办法做到这一点?
【问题讨论】:
标签: r cluster-computing cluster-analysis hierarchical-clustering