你如何使用hist来绘制R中的相对频率?

Wil*_*ill 13 r histogram

你如何使用hist()绘制R中的相对频率?

如果我执行以下操作,我将获得密度图,但我想要一个相对频率图:

a <- c(0,0,0,1,1,2)
hist(a, freq=FALSE)
Run Code Online (Sandbox Code Playgroud)

我想看到具有以下相对频率的直方图:

.5为0到1,

.33为1到2,

和.166为2到3.

Gre*_*reg 13

你可以尝试使用histogram()格子中的函数

a <- c(0,0,0,1,1,2)
library(lattice)
histogram(a)
Run Code Online (Sandbox Code Playgroud)

默认为百分比.

  • 可惜它使用如此丑陋的颜色作为默认值:) (2认同)

Mur*_*ely 7

我在CRAN 上的HistogramTools包中添加了一个新函数,PlotRelativeFrequency()它接受直方图对象并生成相对频率直方图.现在可以从R-Forge获得,并且将在HistogramTools 0.3中用于下一个CRAN版本.

基本上,您只需要对R中的默认直方图进行两次修改.首先,您需要将每个计数除以所有计数的总和,并且您需要替换y轴标签以注意它现在正在绘制相对频率.

x<-runif(100)
h<-hist(x, plot=F)
h$counts <- h$counts / sum(h$counts)
plot(h, freq=TRUE, ylab="Relative Frequency")
Run Code Online (Sandbox Code Playgroud)

或者,简单地说

install.packages("HistogramTools", repos="http://R-Forge.R-project.org")
library(HistogramTools)
PlotRelativeFrequency(hist(x, plot=F))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


car*_*cal 6

hist(a, breaks=c(0, 1, 2, 3), freq=FALSE, right=FALSE)
Run Code Online (Sandbox Code Playgroud)