2017-01-05 4 views
1

Я хочу использовать. нотация использовать исходный фрейм данных (так как иногда я не определял его в небольшой переменной) внутри моих геометрий. Ниже не работает:Использование. обозначение внутри geoms

iris %>% ggplot(aes(Sepal.Length, Sepal.Width)) + geom_point(data = subset(.,Sepal.Length < 6)) 

Error in subset(., Sepal.Length < 6) : object '.' not found 

Я хочу. чтобы указать на радужную оболочку.

+0

Я скопировал это из другого сообщения, связанного, я обычно использую фильтр –

ответ

0

К сожалению, я не думаю, что для этого есть элегантное решение из-за того, как %>% оценивает его правую сторону. Однако, следующие работы:

iris %>% { 
    ggplot(., aes(Sepal.Length, Sepal.Width)) + 
     geom_point(data = filter(., Sepal.Length < 6)) 
} 

Обратите внимание, что с этой записи необходимо явно указать . в качестве первого аргумента каждой функции, используя его, в том числе ggplot.