Выберите точки по идентификатору () на нескольких участках

У меня есть фрейм данных 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)

После изменения вашей функции у меня все заработало.

Другие вопросы по тегам