Как выделить ячейку наблюдения на гистограмме в R

Я хочу создать гистограмму из ряда наблюдений (т.е. d ‹- c(1,2.1,3.4,4.5) ), а затем выделить ячейку, в которую попадает конкретное наблюдение, чтобы у меня был вывод, который выглядит следующим образом: альтернативный текст

как это сделать в Р?


person fgregg    schedule 24.01.2010    source источник
comment
Вы также можете получить некоторые идеи из этого связанного вопроса: > stackoverflow.com/questions/1915001/   -  person Shane    schedule 25.01.2010


Ответы (2)


В дополнение к ответу DangerStat, вот небольшая функция, которая автоматически найдет, какая корзина содержит значение, которое вы хотите выделить:

highlight <- function(x, value, col.value, col=NA, ...){
   hst <- hist(x, ...)
   idx <- findInterval(value, hst$breaks)
   cols <- rep(col, length(hst$counts))
   cols[idx] <- col.value
   hist(x, col=cols, ...)
}

В настоящее время

x <- rnorm(100)
highlight(x, 1.2, "red")

выделит корзину с 1.2 красным цветом.

person Aniko    schedule 26.01.2010

x = rnorm(100)
hist(x,br=10,col=c(rep(0,9),1))

Очевидно, что это закрасит последний столбец, поэтому настройте бит col= под свои нужды.

Спасибо

опасностьстат

person dangerstat    schedule 24.01.2010
comment
я бы так и сделал. обратите внимание, что для типичных цветов, таких как красный и синий, вы можете ввести строку вместо числа: col=c("red", "blue", 9) - person twolfe18; 24.01.2010