R - Как мне построить гистограмму с заданной c осью Y (а не только частотой)? - PullRequest
0 голосов
/ 24 января 2020

Я хочу создать гистограмму, которая отображает ранжирование (значения 1-400i sh) по оси X и частоту на 1000 человек по оси Y. Есть ли способ сделать это с помощью функции hist ()? В настоящее время я использую plot.default () примерно так:

plot.default(frequencyData$Deprivation.rank, frequencyData$Prescription.per.1000.people, xlab = 
"Deprivation Rank", ylab = "per 1000", main=graph_title, xlim=NULL, ylim=NULL, type="h")

Как только я это сделаю, я хотел бы рассчитать среднее и стандартное отклонение и построить их в виде линии на графике, который я получаю который в настоящее время (используя plot.deafult) выглядит следующим образом

Кто-нибудь может оказать помощь?

1 Ответ

0 голосов
/ 24 января 2020

Вы не предоставили никаких данных для тестирования, но я полагаю, что вы можете сделать это без особых проблем. Просто используйте функцию hist().

Вот документация, которую вы можете набрать, набрав ?hist в консоли R:

Гистограммы Описание

Функция generi c Hist вычисляет гистограмму данные значения данных. Если plot = TRUE, то результирующий объект класса "гистограмма" отображается до plot.histogram перед его возвращением.

Usage hist(x, ...)

Метод S3 по умолчанию:

hist(x, breaks = "Sturges",
   freq = NULL, probability = !freq,
   include.lowest = TRUE, right = TRUE,
   density = NULL, angle = 45, col = NULL, border = NULL,
   main = paste("Histogram of" , xname),
   xlim = range(breaks), ylim = NULL,
   xlab = xname, ylab,
   axes = TRUE, plot = TRUE, labels = FALSE,
   nclass = NULL, warn.unused = TRUE, ...)

Итак, вы можете попробовать изменить функцию plot следующим образом:

hist(
  frequencyData$Deprivation.rank,
  frequencyData$Prescription.per.1000.people,
  xlab = "Deprivation Rank",
  ylab = "per 1000",
  main = graph_title,
  xlim = NULL,
  ylim = NULL
)

альтернатива ggplot

Вы можете получить более привлекательный график, используя библиотеку ggplot, как в следующем примере:

library(ggplot2)
ggplot(frequencyData, aes(Deprivation.rank, Prescription.per.1000.people)) +
  geom_histogram() +
  xlab("Deprivation Rank") +
  ylab("per 1000") +
  ggtitle(graph_title)

Надеюсь, это поможет.

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