首页 文章

在ggplot图层中引用管道数据集以进行子集化

提问于
浏览
2

试图找到一种方法来引用不同ggplot2几何图层的数据集的不同部分,而不必首先在全局环境中保存数据集 .

非工作解决方案 .

read_excel("Book1.xlsx",sheet = "Sheet2") %>% 
  ggplot(aes(x,y)) +
  geom_col() +
  geom_point(data=subset($ID == "1"),colour="red")

上面似乎不起作用,因为我没有以R可以识别它的方式引用管道(magrittr)数据集 . 我搜索过,但我能看到的唯一解决方案是基于我首先在全球环境中保存数据集的解决方案

Ex工作解决方案,首先保存数据集 .

df <- read_excel("Book1.xlsx",sheet = "Sheet2")

  ggplot(df,aes(x,y)) +
  geom_col() +
  geom_point(data=subset(df,ID == "1"),colour="red")

1 回答

  • 1

    您可以尝试使用 dplyr

    library(dplyr)
    library(ggplot2)
    
    read_excel("Book1.xlsx",sheet = "Sheet2") %>% 
      ggplot(aes(x, y)) +
      geom_col() +
      geom_point(data = . %>% filter(ID == "1"), colour = "red")
    

相关问题