繁体   English   中英

R - 如何绘制具有特定 y 轴(而不仅仅是频率)的直方图?

[英]R - How do I plot a histogram with a specific y-axis (rather than just frequency)?

我想创建一个直方图,它在 x 轴上绘制排名(1-400ish 值),在 y 轴上绘制每 1000 人的频率。 有没有办法用 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)看起来像这样

任何人都可以提供任何帮助吗?

你没有提供任何数据来测试,但我想你可以毫无问题地做到这一点。 只需使用hist()函数。

这是您可以在 R 控制台中键入?hist的文档:

直方图说明

通用函数 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)

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM