Выбор между qplot() и ggplot() в ggplot2

Я начинаю использовать большой пакет ggplot2 для построения в R, и одна из первых вещей, которые я задаю себе перед каждым сюжетом: "Хорошо, буду ли я использовать qplot или ggplot?"

Я понимаю, что qplot обеспечивает более простой синтаксис, а ggplot допускает максимальные возможности и гибкость, но какова функция, которую вы используете больше всего, и у вас есть некоторые конкретные варианты использования для каждого из них? Используете ли вы главным образом qplot и ggplot только для сложных графиков или используете ggplot каждый раз?

Спасибо за отзыв!

Ответ 1

Как и для меня, если доступны как 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 сохраняет ввод, вы теряете много функциональности.

Ответ 2

Я новичок в 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.

Ответ 3

Я думаю, это зависит от того, как часто и с какой целью вы собираетесь использовать ggplot2.

В основном я использую ggplot2 для графики в публикациях. Это означает, что мне, как правило, нужны более сложные функции, поэтому я никогда не удосужился узнать о qplot. Кроме того, поскольку у меня есть около четырех публикаций в год, я не использую ggplot2 достаточно, чтобы быть действительно удобным с синтаксисом, и поэтому сосредоточиться на одном аспекте кажется оптимальным.

Однако, если вы получаете новые наборы данных каждую неделю, то вам, вероятно, интересно быстро исследовать наборы данных и, создавая качественный сюжет. В этом случае изучите оба. Вы получите достаточно практики с синтаксисом и будете (в конечном итоге) сэкономить время с помощью qplot.

Ответ 4

Джуба, я обнаружил, что можно использовать qplot для большинства основных потребностей в графике. Это достаточно просто, и по умолчанию вполне разумно, что у меня есть студенты, которые используют его исключительно, и они могут создавать отличные сюжеты с ограниченным опытом. И сюжет, созданный qplot [p < - qplot (и т.д.)], Может быть изменен любой из полных команд ggplot2, которые удобны (все они сохраняются одинаково, независимо от того, как они были созданы). Поэтому лично я использую qplot для большинства всего и сохраняю ggplot для внутренних функций.

Ответ 5

  • 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()

Ответ 6

Еще один вариант от меня: я использую qplot, когда я набираю текст непосредственно в консоли и ggplot, когда пишу скрипты. Но после того, как я снова и снова обнаружил, что хочу воссоздать сюжет, который я набрал в консоль на 15 минут раньше, я пишу почти все из них в script сейчас, поэтому я почти всегда использую ggplot.

(Интересно видеть разнообразие ответов!)