Выберите точки по идентификатору () на нескольких участках
У меня есть фрейм данных df
каждая из его колонок построена в виде простой диаграммы рассеяния. Я хочу выбрать одну точку на каждом графике identify()
и сохранить его в списке s
- один график за другим. Вот мой подход:
x1 <- c(12:4, 5:8, NA, NA)
x2 <- c(15:8, 9:15)
df <- data.frame(x1, x2)
fun <- function(z){
y <- na.omit(z)
x <- seq(1:length(y))
plot(x,y)
s <- identify(x, n = 1, plot = F)
}
lapply(df, fun)
Я получаю следующую ошибку после выбора точки на первом графике:
> warning: no point within 0.25 inches
Но похоже, что точка на втором сюжете определяется правильно. Что я делаю не так?
1 ответ
Решение
Вам нужно будет добавить еще один аргумент identify
, поэтому он знает, какие y-координаты искать.
s <- identify(x = x, y = y, n = 1, plot = F)
После изменения вашей функции у меня все заработало.