如何在dplyr中使用链接访问"内部"变量

时间:2014-08-24 02:20:01

标签: r dplyr chaining

plyr的新手,通过链接,一个基本问题 - 对于hflights示例,想要使用这些嵌入变量中的一个来制作基本情节:

hflights %>%
    group_by(Year, Month, DayofMonth) %>%
    select(Year:DayofMonth, ArrDelay, DepDelay) %>%
    summarise(
        arr = mean(ArrDelay, na.rm = TRUE),
        dep = mean(DepDelay, na.rm = TRUE)
    ) %>%
    plot (Month, arr)

返回:

  

match.fun(面板)出错:找不到对象'arr'

我可以一步一步地完成这项工作,但是我可以通过%>%...来获得我想去的地方吗?

1 个答案:

答案 0 :(得分:3)

plot()不会这样做。你能得到的最接近的是:

library(dplyr)
library(hflights)

summary <- hflights %>%
  group_by(Year, Month, DayofMonth) %>%
  select(Year:DayofMonth, ArrDelay, DepDelay) %>%
  summarise(
    arr = mean(ArrDelay, na.rm = TRUE),
    dep = mean(DepDelay, na.rm = TRUE)
  ) 

summary %>%
  plot(arr ~ Month, .)

另一种方法是使用ggvis,它明确设计用于管道:

library(ggvis)
summary %>%
  ggvis(~Month, ~arr)