出现意外错误')':“ geom_point()+ facet_grid(dataset〜)”>}错误:inesperado'}'位于“}”>

时间:2019-12-11 17:09:31

标签: r function ggplot2

当我尝试r项目中的这行代码时,要求我执行以下操作:

datasauRus软件包包含一个名为datasaurus_dozen的数据框。它有一个名为数据集的列,表示具有点的多个数据集,其坐标在列x和y中指示。对于所有这些情况,x和y的均值和其他统计属性都是相同的。我们在这里专注于图形部分。编写一个函数,以接收这些数据集的选择,使用这些情况过滤数据框datasaurus_dozen,并使用ggplot2在一个唯一的图中绘制关联的散点图。例如,如果选定的案例为“离开”,“ h_lines”和“ bullseye”,则该函数必须在一个唯一的图中绘制三个散点图。使用这些数据集尝试您的功能,然后再选择四种不同的情况。该函数必须只有一个参数。

ex_3 <- function(newtb){
  tb %>%
    filter(dataset %in% newtb) %>%
    group_by(dataset) %>%
    ggplot(aes(x = x, y = y))+
    geom_point()+
    facet_grid(dataset~) 
}

此错误显示:

  

(错误inesperado =意外错误)错误:inesperado')'in:“
  geom_point()+       facet_grid(dataset〜)“   }错误:“}”中的inesperado'}'

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您应该尝试以下操作:

tb %>%
    filter(dataset %in% newtb) %>%
    group_by(dataset) %>%
    ggplot(aes(x = x, y = y))+
    geom_point()+
    facet_grid(dataset~.) 

如果要在一行中写,可以写facet_grid(.~dataset)


我测试了您的其余功能,它正在工作;)

library(datasauRus)
library(tidyverse)

tb =  datasaurus_dozen
test = c( "away","h_lines","bullseye")

ex_3 <- function(newtb){
  tb %>%
    filter(dataset %in% newtb) %>%
    group_by(dataset) %>%
    ggplot(aes(x = x, y = y))+
    geom_point()+
    facet_grid(dataset~) 
}

ex_3(test)

enter image description here