2014-08-30 4 views
0

Я начинаю с программирования R. Я использую RStudio для экзамена, и я должен графически представить результаты некоторых вычислений в наборе данных. У меня есть структура вроде этого:Очень простая гистограмма с R?

enter image description here

и то, что я думал сделать, это сделать несколько гистограмм с 3-х значений среднего для каждой строки, и то же самое для медианного и усеченного среднего.

Первый вопрос: Является ли это правильным способом представить этот вид данных графически? Или есть какой-то лучший сюжет.

Второй вопрос: Может кто-нибудь дать мне код, чтобы нарисовать график с на х Avis в 3 строки («Лобби», «R & D», ​​«РОЭ») и по оси Y шкале значения, которые включают в себя результаты, чтобы иметь гистограммы, представляющие различия в инвестициях в лоббирование, r & d и полученную икру.

Надеюсь, что я был достаточно ясен, если я не указал что-то важное, пожалуйста, спросите меня.

+1

Проблема в том, что если вы собрали в одном и том же участке цифры, имеющие такие разные масштабы, как 0,0084 и 6, вы не можете определить первое число с нуля ... например попробуйте это: barplot (t (as.matrix (yourDataFrame)), рядом = TRUE) # замените yourDataFrame на имя ваших данных.frame – digEmAll

ответ

0

В ответ на вопрос 1: Целью гистограмм является отображение плотности или частоты непрерывных данных. Если вы пытаетесь сравнить среднее/среднее/обрезанное среднее по 3 категориям в столбце row.name, я предлагаю гистограммы. Я не уверен, что сравнение среднего/среднего/обрезанного среднего в одном графике является когерентным для зрителей, поэтому может быть идеальным для генерации 3-гистограмм.

В ответ на вопрос 2: Если вы хотите сравнить 3 категории в столбце row.name, используя несколько столбцов данных, я предлагаю график. Я понимаю, что в коробке нет традиционного обозначения среднего значения, но это одна из лучших визуализаций для сравнения данных по категориям. Например, см. r-bloggers.com/box-plot-with-r-tutorial.

+0

Нет, моя идея: 3 разных графика, один для среднего, один для медианного и один для обрезанного среднего. В каждом отдельном графике я сравниваю значения лобби, r & d и икры. Btw благодарю вас за ваш ответ. Я последую за учебником и надеюсь, что это поможет мне. –

1

Звучит так, как будто вы хотите сделать следующее. С вашими данными в формате CSV вызова bar.csv, имеющего следующий формат:

Dept Mean Median Trimmed_Mean 
Lobby 0.008 0.0018 0.0058 
R & D 6.25 3.2  4.78 
ROE  19.08 16.66 16.276 

Вы можете использовать library(ggplot2) и library(reshape) и команды, перечисленные здесь

dat.m<-read.csv("bar.csv") 
dat.m<-melt(dat.m,id.vars="Dept") 

ggplot(dat.m, aes(x = Dept, y = value,fill=variable)) + geom_bar(stat='identity')+ 
facet_wrap(~ Dept, ncol = 3,scales="free_y") #facet wrapped 

ggplot(dat.m, aes(x = Dept, y = value,fill=variable)) + geom_bar(stat='identity') 
#stacked bar 

для отображения графики ниже:

stacked facet stacked bar

Как говорит zhaoy, историческая работа работает wi (обычно) - и у вас есть сводные данные. Кроме того, вы можете использовать library(ggplot2), чтобы произвести boxplot резюме график, как это (с помощью spray данных в библиотеке ggplot2):

library(ggplot2) 
p<-qplot(spray,count,data=InsectSprays,geom='boxplot') 
p<-p+stat_summary(fun.y=mean,shape=1,col='red',geom='point') 
print(p) 

Или просто с помощью стандартной boxplot команды, с теми же данными, с дополнительными функциями для отображения средства:

boxplot(count ~ spray, data = InsectSprays, col = "lightgray") 
means <- tapply(InsectSprays$count,InsectSprays$spray,mean) 
points(means,col="red",pch=18)