Интерактивная работа с точечными кластерами xy - групповые манипуляции в r

У меня есть большое количество пар переменных 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. Я вручную определил точки, которые являются выбросами, и я хочу сделать их значение NA в переменной cltr. Является ли их любым простым способом отсоединить такое членство и записать в файл.

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
Другие вопросы по тегам