Использование таблицы для графика - PullRequest
1 голос
/ 28 декабря 2011

У меня есть следующий data.frame:

sample <- data.frame(day=c(1,2,5,10,12,12,14))
sample.table <- as.data.frame(table(sample$day))

Теперь я хотел бы построить график зависимости дня от количества дней, например:

require(ggplot2)
qplot(Var1, Freq, data=sample.table)

Я понял, однако, что Var1 действительно очень хочет быть фактором.Это хорошо работает в течение небольшого количества дней, но ужасно, когда дни становятся намного больше, потому что график становится нечитаемым.Если я изменю его на числовое или целое число, то вместо отображения дня на оси x будет отображаться число дней, например 1,2,3,4,5,6,7.

Чтомогу ли я сделать так, чтобы, если у меня, скажем, 5000 дней, он все еще хорошо виден?

Ответы [ 2 ]

3 голосов
/ 28 декабря 2011

Это потому, что при использовании table вы получаете вектор с names (которые являются символами), а при преобразовании в data.frame они преобразуются в коэффициенты с настройками по умолчанию.

Вы можете избежать этого, используя исходные данные и получив ggplot2 для подсчета данных:

qplot(day, ..count.., data=sample, stat="bin", binwidth=1)

или просто используя гистограмму,

qplot(day, data=sample, geom="histogram", binwidth=1)

Обратите внимание, что вы можете настроить binwidth аргумент для подсчета в больших группах.

1 голос
/ 28 декабря 2011

Разобрался за хак для этого.

as.integer(as.character(sample$day))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...