2017-04-03 116 views
-3

我想根据网站过滤我的数据,我怎么能为下面的代码做到这一点?我正在尝试使用包dplyr,但我无法过滤。如何使用过滤器?

myData2 <- ggplot(myData,aes(year,bleaching)) + 
    geom_point(aes(color = site))+ facet_wrap(~kind) 
myData2 
myData3 <- myData2 + geom_smooth(aes(group = 1), 
       method = "lm", 
       color = "black", 
       formula = y~ poly(x, 2), 
       se = FALSE) 
myData3 
library(dplyr) 
filter(myData3,site == "site02") 
myData3 
+0

您正试图过滤'ggplot'对象,而不是'data.frame'。过滤'myData'然后绘制它。 – bVa

+0

欢迎来到StackOverflow!请阅读关于[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)以及如何给出[可重现的示例]的信息(http://stackoverflow.com/questions/ 5963269 /如何对化妆一个伟大-R-重复性,例如/ 5963610)。这会让其他人更容易帮助你。 – Jaap

回答

0

我认为你正在做的一些事情是不好的做法,在你的示例代码 - 即创建ggplot对象和命名他们“MYDATA”(这是一个阴谋,而不是一个数据帧)。

所以让我们来清理一下。

首先,我们声明,我们想绘制

mydata_site02 <- filter(myData,site == "site02") 

然后数据帧,我们使我们的阴谋。

ggplot(myData,aes(year,bleaching)) + 
geom_point(aes(color = site))+ 
facet_wrap(~kind) + 
geom_smooth(aes(group = 1), 
method = "lm", 
color = "black", 
formula = y~ poly(x, 2), 
      se = FALSE) 
+0

感谢您的帮助。 – DataLover