Добавьте среднее значение к гистограмме в R!
Я хотел бы построить гистограмму со средним (средним) значением на ней (пометьте ее, например, синей, жирной линией).
Я пытаюсь сделать это с помощью команды plot, но даже если добавить параметр: "add = TRUE"
он не работает.
Ответы
Ответ 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)