使用dplyr发现多重错误:找不到对象,找不到函数

时间:2017-12-21 02:42:14

标签: r dplyr

当我尝试为此question输入几个答案的代码时,我收到错误。代码非常简单,但我仍然会遇到错误。

输入此代码时,收到错误消息:

 library(dplyr)
 mtcars %>% 
+   group_by(cyl, gear) %>% 
+   summarise(n = n())

错误:不应直接调用此函数

此外,这也不起作用:

  

计数(mtcars,cyl,gear)

     

计数错误(mtcars,cyl,gear):object' gear'找不到

这两个都没有:

 mtcars %.% 
+   dplyr::group_by(cyl, gear) %.%
+   dplyr::summarise(length(gear))
  

mtcars%。%dplyr :: group_by(cyl,gear)%。%dplyr :: summarize(length(gear)):     无法找到功能"%。%"

然而,这确实有效:

mtcars %>% group_by(cyl, gear) %>% do(data.frame(nrow=nrow(.)))

任何人都可以了解出了什么问题吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

单独的命令应分开。否则,用分号分隔它们。 接下来,%>%是一个管道命令。它从左侧获取输出并将其输入到下一个函数的输入中。它允许您将多个命令链接在一起。因此,+不仅是不必要的,还会增加另一个错误。

因此, library(dplyr) mtcars %>% + group_by(cyl, gear) %>% + summarise(n = n())应该成为 library(dplyr); mtcars %>% group_by(cyl, gear) %>% summarise(n = n()) 或者更清楚:

    library(dplyr)
    mtcars %>% 
      group_by(cyl, gear) %>%
        summarise(n = n())

修改   语法因包而异。我会阅读小插曲,以便更好地了解包的工作原理。