当我在包中使用函数时,通常可以用function()
或只是function
的形式编写而没有括号。 scales::comma
似乎并非如此。为什么第7行在下面起作用,而第8行却不起作用。
library(tidyverse)
mtcars %>%
count(cyl) %>%
ungroup() %>%
mutate(n = n * 1000) %>%
ggplot(aes(cyl, n)) +
scale_y_continuous(labels = scales::comma) + # line 7
# scale_y_continuous(labels = scales::comma()) + # line 8
geom_line()
LINE 8错误
Error in number(x = x, accuracy = accuracy, scale = scale, prefix = prefix, :
argument "x" is missing, with no default
答案 0 :(得分:4)
这取自scale_y_continouos
的有关输入参数labels
的帮助页面:
标签之一:
在这种情况下,最后一个是重要的。
标签期望使用scales::comma
是的功能。另一方面,scales::comma()
是该函数返回的内容,但现在不再是该函数。