Выбор между 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.
(Интересно видеть разнообразие ответов!)