1

我有大量的 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"))

在此处输入图像描述

您可以看到五个集群,使用cltr变量着色不同。我手动识别了异常点,我想在 cltr 变量中将它们的值设为 NA。他们是否有任何简单的方法可以取消此类成员资格并写入文件。

4

1 回答 1

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
于 2013-05-11T15:29:02.747 回答