2013-09-18 4 views
0

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

Но мне кажется, что точка на втором участке определено правильно. Что я делаю неправильно?

ответ

0

Вам нужно будет добавить еще один аргумент в identify, чтобы он знал, какие координаты y искать.

s <- identify(x = x, y = y, n = 1, plot = F) 

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

Смежные вопросы