Подтвердить что ты не робот

Добавьте среднее значение к гистограмме в R!

Я хотел бы построить гистограмму со средним (средним) значением на ней (пометьте ее, например, синей, жирной линией). Я пытаюсь сделать это с помощью команды plot, но даже если добавить параметр: "add = TRUE" он не работает.

4b9b3361

Ответ 1

Вы можете использовать функцию abline() для добавления строк к сюжету:

x <- rnorm(100)
mx <- mean(x)
hist(x)
abline(v = mx, col = "blue", lwd = 2)

Также посмотрите на параметры для графических параметров (например, col и lwd).

изменить

Относительно вашего вопроса в комментариях:
Вы также можете строить линии, используя линии().
text() используется для текста.
Аргумент cex описывает "коэффициент расширения персонажа".

Также просмотрите Quick-R для обзора основного графика с помощью R.

x <- rnorm(100, mean = 10)
mx <- mean(x)
hist(x)
lines( c(mx,mx), c(0,15), col = "red", lwd = 2)
lines(c(10, 11.5), c(0, 10), col = "steelblue", lwd = 3, lty = 22)
text(mx, 18 , round(mx, 2))
text(mx, 12 , "big", cex = 5)

Ответ 2

hist(data)
abline(v=mean(data),col="blue")

Ответ 3

Если у вас есть кадры данных с большим количеством столбцов, использующих пакет ggplot2, это мой предпочтительный вариант:

ggplot (data, aes (x = colname)) + geom_vline(xintercept=mean(data$colname), color="red")

Colname - это столбец в вашем data.frame, для которого вы хотели бы построить гистограмму и означать.

Ответ 4

У меня возникла проблема, когда средняя линия не появлялась, и я не получал ошибок, чтобы помочь мне понять, почему. Я понял, что ничего не происходит, потому что у меня есть некоторые недостающие данные, поэтому среднее значение было рассчитано как NA. Добавление na.rm = T к среднему() arg привело меня к реальному числу, и появилась средняя линия. Это небольшой надзор и простое исправление, о котором вряд ли стоит писать, но я отправляю его в любом случае, если он может сэкономить кому-то горе.

hist(data$Defect.rate, 
 xlim = c(0, 1),
 col = "light blue")

abline(v = mean(data$Defect.rate, na.rm = T),
            col = "red",
            lwd = 2)