当我尝试为此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(.)))
任何人都可以了解出了什么问题吗? 谢谢!
答案 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())
修改强> 语法因包而异。我会阅读小插曲,以便更好地了解包的工作原理。