Расширяющиеся строки для исторических в R - PullRequest
1 голос
/ 09 января 2012

У меня есть фрейм данных, состоящий из столбцов;«имя», «время», «считать».Показывает, сколько предметов заняло данный отрезок времени.Я хотел бы иметь возможность рисовать гистограмму на основе подсчета (и иметь исторических () выбрать границы и т. Д.)

+------+------+-------+
| name | time | count |
+------+------+-------+
| foo  |    5 |     5 |
| foo  |   10 |     8 |
| foo  |   15 |     6 |
| foo  |   20 |     8 |
| bar  |    5 |     7 |
| bar  |   10 |     4 |
| bar  |   15 |     9 |
| bar  |   20 |    10 |
+------+------+-------+

Из этого я хотел бы иметь возможность создавать гистограммы раз по имении раз по всем направлениям.Тем не менее, Hist () сам подсчитывает строки, у меня уже есть счет в столбце подсчета.Как мне этого добиться?

Ответы [ 2 ]

3 голосов
/ 09 января 2012

Самое простое - использовать гистограмму вместо гистограммы.

library(lattice)
barchart( count ~ time | name, data=d )

library(ggplot2)
ggplot(d, aes(x=time, y=count)) + 
  geom_bar(stat="identity") + 
  facet_grid( ~ name )
0 голосов
/ 09 января 2012

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

d <- structure(list(V1 = c("foo", "foo", "foo", "foo", "bar", "bar", 
"bar", "bar"), V2 = c(5L, 10L, 15L, 20L, 5L, 10L, 15L, 20L), 
    V3 = c(5L, 8L, 6L, 8L, 7L, 4L, 9L, 10L)), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -8L))


hist(as.numeric(unlist(apply(d,1,function(x){rep(x[2],time=x[3])}))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...