交互式地使用xy点图集群 - r中的组操作

时间:2013-05-11 15:15:49

标签: r graph plot interactive rggobi

我有大量的X和Y变量以及它们的集群成员资格列。集群成员资格(组)可能并不总是正确的(完善集群算法的限制),我想以交互方式可视化集群并将集群成员资格操纵到已识别的点。

我尝试了rggobi,以下是我能够达到的目的(我不是说我需要使用rggobi / ggobi,如果有更好的选择,欢迎提出建议)。

# data
set.seed (1234)
c1 <- rnorm (40, 0.1, 0.02); c2 <- rnorm (40, 0.3, 0.01)
c3 <- rnorm (40, 0.5, 0.01); c4 <- rnorm (40, 0.7, 0.01)
c5 <- rnorm (40, 0.9, 0.03)
Yv <- 0.3 + rnorm (200, 0.05, 0.05)
myd <- data.frame (Xv = round (c(c1, c2, c3, c4, c5), 2), Yv = round (Yv, 2),
 cltr = factor (rep(1:5, each = 40)))

require(rggobi)
g <- ggobi(myd)
display(g[1], vars=list(X="Xv", Y="Yv"))

enter image description here

您可以看到五个群集,颜色与 cltr 变量不同。我手动识别出异常值的点,我想在cltr变量中将它们的值设为NA。是他们解除此类成员资格和写入文件的任何简单方法。

1 个答案:

答案 0 :(得分:1)

您可以尝试identify手动获取积分的索引:

## use base::plot
plot(myd$Xv, myd$Yv, col=myd$cltr)

exclude <- identify(myd$Xv, myd$Yv) ## left click on the points you want to exclude (right click to stop/finish)

myd$cltr[exclude] <- NA