Как мне сделать Barplot из уже представленных данных? - PullRequest
1 голос
/ 02 ноября 2011

У меня есть входные данные с очень большим количеством наблюдений в день.Я могу сделать barplot я хочу с 1 дня, используя table().

Если я пытаюсь загрузить более 1 дня и позвонить table() мне не хватает памяти.

Я пытаюсь составить таблицу () каждый день и объединить таблицы в итоговые значения, которые я могу barplot позже.Но я просто не могу понять, как принимать уже table d данные и столбчатые диаграммы каждый день в виде столбца с накоплением.

После зацикливания и консолидации я получаю что-то вроде этого: 2 дня наблюдений. (столбец Freq является значением по умолчанию из предыдущих вызовов table())

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

> data.frame(CLIENT=c("Mr Fluffy","Peppa Pig","Mr Fluffy","Dr Who"), Freq=c(18414000,9000000,7000000,15000000), DAY=c("2011-11-03","2011-11-03","2011-11-04","2011-11-04"))
     CLIENT     Freq        DAY
1 Mr Fluffy 18414000 2011-11-03
2 Peppa Pig  9000000 2011-11-03
3 Mr Fluffy  7000000 2011-11-04
4    Dr Who 15000000 2011-11-04
>
> # What should I put here?

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Я предполагаю, что вы используете базовую графику, поскольку вы упоминаете barplot.Вот подход, использующий это:

wide <- reshape(dat, idvar="CLIENT", timevar="DAY", direction="wide")
barplot(as.matrix(wide[-1]), beside=FALSE)

В качестве альтернативы, используя ggplot2:

library("ggplot2")

ggplot(dat, aes(x=DAY, y=Freq)) +
  geom_bar(aes(fill=CLIENT), position="stack")
1 голос
/ 02 ноября 2011

Попробуйте ggplot2:

ggplot(df,aes(DAY,fill=CLIENT,weight=Freq))+geom_bar()

Беззастенчиво разорвал отсюда:

http://had.co.nz/ggplot2/geom_bar.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...