首页 文章

在ggplot2中选择qplot()和ggplot()[关闭]

提问于
浏览
97

我开始使用伟大的 ggplot2 包在R中绘图,在每个情节之前我问自己的第一件事就是“好吧,我会使用 qplot 还是 ggplot ?”

我知道 qplot 提供了更简单的语法,而 ggplot 允许最大的功能和灵活性,但你最常用的功能是什么,你是否有一些精确的用例?您是否仅将 qplotggplot 用于复杂图表,或者每次都使用 ggplot

感谢您的反馈意见 !

6 回答

  • 3

    至于我,如果qplot和ggplot都可用,则标准取决于数据是存储在data.frame还是单独的变量中 .

    x<-1:10
    y<-rnorm(10)
    
    qplot(x,y, geom="line") # I will use this
    ggplot(data.frame(x,y), aes(x,y)) + geom_line() # verbose
    
    d <- data.frame(x, y)
    
    qplot(x, y, data=d, geom="line") 
    ggplot(d, aes(x,y)) + geom_line() # I will use this
    

    当然,更复杂的图需要ggplot(),我通常将数据存储在data.frame中,所以根据我的经验,我很少使用qplot .

    总是使用ggplot()听起来不错 . 虽然qplot可以节省打字,但是你会失去许多功能 .

  • 79

    我是R的新手但只想分享这个 .

    a <- c(1,2,3)
    
     b <- c(2,3,4)
    
     x <- qplot(a,b)
    
     y <- ggplot(data.frame(a,b), aes(a,b)) +geom_line()
    

    如果我改变变量a和b的值然后绘制x,它将考虑改变的值,而y则不会 . 因此,在编写脚本时,使用ggplot会很好,就像使用qplot一样,所有图形都将等于最新提供的对qplot的引用 .

  • 11

    我认为这取决于你打算使用ggplot2的频率和目的 .

    我主要在出版物中使用ggplot2作为图形 . 这意味着我倾向于需要更高级的功能,因此我从未费心去了解 qplot . 另外,由于我每年大约有四个出版物,我没有足够使用ggplot2语法,因此专注于单一方面似乎是最佳选择 .

    但是,如果您每周都获得新数据集,那么您可能有兴趣快速浏览数据集 and ,从而生成高质量的绘图 . 在这种情况下,学习两者 . 您将获得足够的语法练习,并且(最终)使用 qplot 节省时间 .

  • 5

    朱巴,我发现人们可以使用qplot来满足大多数基本的绘图需求 . 这是非常简单,默认是非常合理的,我让我的本科学生专门使用它,他们可以制作出有限经验的优秀情节 . 由qplot [p < - qplot(etc)]创建的图可以通过ggplot2提供的任何完整命令进行修改,这很方便(无论它们是如何创建的,它们都以相同的方式存储) . 所以我个人使用qplot来处理大多数事情,并为函数内部保存ggplot .

  • 8

    如果您正在处理输入向量,

    • qplot是最简单的选择

    • ggplot需要data.frame作为输入数据结构 .

    当您想要生成直方图时,qplot只需要出现的向量

    #rnorm 
    x <- rnorm(10)
    
    #ggplot2 package: qplot
    qplot(x, geom="histogram")
    
    #ggplot2: using straight ggplot (requires conversion to data.frame)
    ggplot(data.frame(x), aes(x)) + geom_histogram()
    
  • 17

    我的另一个变种:当我直接在控制台中输入时,我使用 qplot ,当我编写脚本时,我使用 ggplot . 但是经过一遍又一遍地发现我想要重新创建一个我在15分钟前输入控制台的情节,我现在几乎把所有这些都写成了一个脚本 - 所以我几乎一直都在使用ggplot .

    (有趣的是看到答案的多样性!)

相关问题