Я бы хотел сгенерировать гистограмму некоторых данных, которые у меня есть, но в результате графики с базовыми функциями гистограммы plot(hist())
или ggplot
показывают в основном нули, с числом отсчетов, соответствующим количеству строк. В реальных данных нет нулей, а столбец класса integer
. Изменение класса на numeric
, похоже, не имеет никакого эффекта.
Данные выглядят так:
> head(lengths)
gene size
1 0610005C13Rik 7381
3 0610009B22Rik 3249
4 0610009E02Rik 12071
7 0610009L18Rik 2512
8 0610010F05Rik 68682
11 0610010K14Rik 2710
> dim(lengths)
[1] 25230 2
> summary(lengths)
gene size
0610005C13Rik: 1 Min. : 20
0610009B22Rik: 1 1st Qu.: 4082
0610009E02Rik: 1 Median : 13768
0610009L18Rik: 1 Mean : 177473
0610010F05Rik: 1 3rd Qu.: 37702
0610010K14Rik: 1 Max. :163098416
(Other) :25224
Это очень простая таблица, состоящая из длины стенограммы каждого гена в геноме мыши, согласно таблице refFLat от UCS C. summary()
четко указывает на то, что в столбце размера нет нулей. Однако plot(hist(lengths$size))
или ggplot(lengths) + geom_histogram(aes(size))
показывают подавляющее большинство значений в виде нулей - и кажется, что это число соответствует количеству записей в данных.
Ниже приведены выходные данные из базы и ggplot
функции гистограммы со следующим кодом:
> plot(hist(lengths$size))
> plot(hist(subset(lengths, size>0)$size))
> ggplot(lengths, aes(size)) + geom_histogram() + ggtitle("Lengths")
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
> ggplot(subset(lengths, size>0), aes(size)) + geom_histogram() + ggtitle("Lengths, subset size>0")
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

базовый график, размер подмножества> 0 ggplot
ggplot
, размер подмножества> 0
Извините за ссылки, я впервые постер и у меня недостаточно репутации для добавления встроенных изображений.
Как видите, даже при построении подмножества данных нет нулей, но все равно выводится общее количество чисел в виде нулей! Я не понимаю, как решить это поведение, это совершенно дико для меня. Я уверен, что делаю простую ошибку, но я не могу понять это. Любая помощь будет принята с благодарностью.
Опять же, заранее спасибо за чью-либо помощь с моей головоломкой.
РЕДАКТИРОВАТЬ
Я идиот, и это просто не в масштабе , Спасибо @Axeman и @ user26050. Вот график в масштабе log10, используя следующий код:
> ggplot(lengths, aes(log10(size))) + geom_histogram() + ggtitle("Log10(size)")
