Средние значения графика в R на основе заголовков столбцов - PullRequest
2 голосов
/ 08 февраля 2012

Хорошо, это должно быть легко, но я не могу понять это. У меня есть данные, которые называются avePrice (используя информацию о бриллиантах в ggplot2):

Fair      Good Very Good   Premium     Ideal 
282.0    3050.5    2648.0    3181.0    1809.0

Я хочу построить график, используя заголовки (первый ряд) на оси X в качестве меток и значения (второй ряд) на оси Y.

Кажется, это должно быть легко в R, но я не могу понять это!

Я могу сделать это

qplot(x=c("Fair", "Good", "Very Good", "Premium",  "Ideal"), y=avePrice, geom="bar", xlab="Diamond Cut", ylab="Average Price")

, который работает, но, казалось бы, есть ли простой способ сделать это, не вводя xlabels вручную? Будем надеяться?

Заранее спасибо ... Я ожидаю, что почувствую себя глупым, когда кто-то укажет, как:)

Разъяснение: я знаю, что могу переместить элемент x = c ("Fair ...") из команды qplot и получить его в другом месте, но мне все еще приходится вводить его вручную в этот момент.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

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

qplot(cut, price, data = diamonds, stat = 'summary', fun.y = 'mean')
2 голосов
/ 08 февраля 2012

ggplot обычно требует данные в столбцах фрейма данных.

df <- data.frame(Fair=282.0, Good=3050.5, Very.Good=2648.0, Premium=3181.0, Ideal=1809.0)

df.fix <- data.frame(grades=names(df), avePrice=t(df), row.names=NULL)

qplot(grades, avePrice, data=df.fix, geom='bar', stat='identity')

Но в одной строке:

qplot(x=names(df), y=t(df), geom='bar', stat='identity')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...