2013-05-11 40 views
1

我有大量的X和Y变量以及它们的集群成员列。群集成员资格(群组)可能并不总是正确的(限制完善群集算法),我想交互式地显示群集并操纵群集成员身份以识别点。与xy点图集群交互工作 - r中的组操作

我试过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

你可以尝试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 
+0

凉,谢谢。可能是我只是将cltr值替换为NA(不从绘图中移除Xv,Yv,但是myd $ cltr [exclude] < - NA不工作,有什么想法? – jon 2013-05-11 15:50:14

+0

请不要说“...不工作” ,而是提供错误信息。 – 2013-05-11 18:06:37

+0

现在适合我,谢谢 – jon 2013-05-12 14:02:16