我正在尝试使用kmeans进行分析。
我有一个数据集:
> head(data)
tstamp elementid value hours
2016-09-15 15:20:28 IN_TEMP 25.12237 15
2016-09-15 15:20:29 IN_TEMP 25.44952 15
2016-09-15 15:20:29 IN_TEMP 25.53550 15
2016-09-15 15:20:39 IN_PRESSURE 101.40683 15
2016-09-15 15:20:49 IN_TEMP 25.94596 15
2016-09-15 15:20:49 IN_TEMP 25.38742 15
所以我这样做了:
dataCluster <- kmeans(data[, 3:4], 2, nstart = 20)
dataCluster$cluster <- as.factor(dataCluster$cluster)
levels(dataCluster$cluster) <- c("IN_TEMP", "IN_PRESSURE")
ggplot(data, aes(value, hours, color = dataCluster$cluster)) + geom_point()
对我来说没问题,但是当我做的时候:
table(dataCluster$cluster, data$elementid)
IN_PRESSURE | IN_TEMP
IN_TEMP | 0 | 953
IN_PRESSURE | 508 | 44
我在第二个集群上有44个值是IN_TEMP值(第一个集群)。
我可以用第一个簇的颜色(红色)绘制这44个值吗?
谢谢你的帮助 问候
答案 0 :(得分:0)
您可以使用Before:
Mark - 112.2
Roger - 108.77
Pete - 110.038
Gary - 109.49
Sid - 111.742
Rod - 87.082
Bob - 110.404
Eric - 112.482
Will - 113.478
Nigel - 0
Harry - 110.01
Paul - 112.887
Victor - 109.182
Matt - 109.987
Clive - 109.975
Sol - 109.23
Olly - 0
Ben - 0
Craig - 114.241
Andy - 96.399
Adam - 93.177
Kel - 110.766
After:
Rod - 87.082 - 1
Adam - 93.177 - 2
Paul - 112.887 - 3
Roger - 108.77 - 4
Bob - 110.404 - 5
Mark - 112.2 - 6
Will - 113.478 - 7
Gary - 109.49 - 8
Pete - 110.038 - 9
Harry - 110.01 - 10
Matt - 109.987 - 11
Craig - 114.241 - 12
Eric - 112.482 - 13
Sid - 111.742 - 14
Kel - 110.766 - 15
Clive - 109.975 - 16
Sol - 109.23 - 17
Victor - 109.182 - 18
Andy - 96.399 - 19
Olly - 0 - 20
Nigel - 0 - 21
Ben - 0 - 22
为群集设置颜色:
scale_colour_manual
有关详细信息,请参阅scale_manual。
答案 1 :(得分:0)
如果我得到了正确的答案,那就不是你想要着色的簇标签,而是想要通过变量elementid进行着色。您只需使用以下内容:
ggplot(data, aes(value, hours, color = elementid)) + geom_point()
这有帮助吗?