在R4DS第3.6节中,作者提出以下代码:
ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point(mapping = aes(color = class)) + geom_smooth(data = filter(mpg, class == "subcompact"), se = FALSE)
这会导致以下错误
Error in class == "subcompact" : comparison (1) is possible only for atomic and list types
我认为它在作者写作时起作用,因为他们有一个很好的情节来说明结果.
发生了什么,我该如何解决?(OS X上的R 3.3.2)谢谢
该filter()
功能来自dplyr
包.在运行这些行之前,请确保已加载它.否则,您正在与class()
内置函数进行比较,而不是mpg$class
.
您可能有另一个包含函数(过滤器)的包并屏蔽了dplyr过滤器
快速而肮脏的修复:
dplyr::filter()
代替
filter()