Р гист правый/левый кластер биннинг

У меня есть набор данных длиной 15 000 с реальными значениями от 0 до 100. Мой набор данных СИЛЬНО перекошен влево. Я пытаюсь выполнить следующие ячейки: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,> 10. То, что я сделал до сих пор, создано следующим образом:

  breakvector = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100) 

и запустили:

  hist(datavector, breaks=breakvector, xlim=(0, 13))

Однако похоже, что это приводит к гистограмме, в которую не включены данные больше 13. Кто-нибудь знает, как заставить R собрать все остальные данные в последней корзине. Заранее спасибо.


person mt88    schedule 29.05.2014    source источник
comment
У вас есть значения больше 100?   -  person MrFlick    schedule 30.05.2014


Ответы (1)


Как насчет этого

datavector<-c(sample(1:9, 40, replace=T), sample(10:100, 20, replace=T))
breakvector <- c(0:11)
hist(ifelse(datavector>10,11,datavector), breaks=breakvector, xlim=c(0, 13), xaxt="n")
axis(1, at=1:11-.5, labels=c(1:10, ">10"))

Вместо того, чтобы корректировать разрывы, я просто бросаю все значения >10 в корзину для 11. Затем я соответствующим образом обновляю ось.

введите здесь описание изображения

person MrFlick    schedule 29.05.2014
comment
Это сработало отлично. Большое спасибо. не знал, что вы можете использовать такой оператор ifelse. - person mt88; 30.05.2014