Как минимизировать разрывы на гистограмме в т - PullRequest
0 голосов
/ 27 февраля 2020

скажем, у меня есть два вида данных. Один находится в небольшом диапазоне (от 0 до 0,5), а другой - в большом диапазоне (от 4 до 600). Первый называется v, а второй называется mx.

data<-structure(list(v = c(0.0741993337844943, 0.0469609897824665, 
0.27686789382899, 0.0899877689865293, 0.0533351613571831, 0.0949535942113873, 
0.132267448969788, 0.140736814439988, 0.170258755089611, 0.0012874981224646, 
0.0167425549755457), mx = c(20.2159112302004, 15.2656614271742, 
14.4361762323113, 8.87425807502441, 4.04997522826475, 34.9314254746675, 
45.699439750261, 16.0238858355385, 79.4436180395085, 598.247400459265, 
5.16677793308584)), class = "data.frame", row.names = c(NA, -11L
))

Я использовал эти коды для построения;

library(ggplot2)    
ggplot(data, aes(x=v)) + geom_histogram(bins=10)
ggplot(data, aes(x=mx)) + geom_histogram(bins=10)

plot_vplot_mx

Например, Как видите, на графике v значения между 0,0 и 0,1 нет. Я хочу добавить больше значений к этому разрыву, например, 0,01, 0,02 ... и для другого графика, я хочу добавить больше значений, таких как 0-10-20-30 ... 200-210

Вкратце я хочу минимизировать все пропуски для всех участков с различными диапазонами.

1 Ответ

0 голосов
/ 27 февраля 2020
data<-structure(list(v = c(0.0741993337844943, 0.0469609897824665, 0.27686789382899, 0.0899877689865293, 0.0533351613571831, 0.0949535942113873,  0.132267448969788, 0.140736814439988, 0.170258755089611, 0.0012874981224646, 0.0167425549755457),
                     mx = c(20.2159112302004, 15.2656614271742, 14.4361762323113, 8.87425807502441, 4.04997522826475, 34.9314254746675, 45.699439750261, 16.0238858355385, 79.4436180395085, 598.247400459265, 5.16677793308584)),
                class = "data.frame", row.names = c(NA, -11L))


library(ggplot2)    
ggplot(data, aes(x=data$v)) + geom_histogram(bins=10)
ggplot(data, aes(x=data$mx)) + geom_histogram(bins=10)

Используя аргумент bins, вы указываете geom_histogram сделать 10 «бинов», т.е. сгруппировать значения в десять одинаковых по размеру групп с диапазоном (x) /10.

Это означает, что ширина ячеек теперь фиксирована (с учетом диапазона значений).

В качестве альтернативы (но не одновременно) мы можем сказать geom_histogram использовать данный binwidth, то есть сгруппировать значения в группы данной ширины. Теперь число bins равно диапазону (x) / binwidth

Применительно к вашему примеру:

ggplot(data, aes(x=data$v)) + geom_histogram(binwidth=0.01)

binwidth0.01

ggplot(data, aes(x=data$mx)) + geom_histogram(binwidth=10)

binwidth10

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