在R中使用hist()函数获取百分比,而不是原始频率

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (74)

如何用R中的hist()函数来绘制相对于原始频率的百分比?

提问于
用户回答回答于

简单地使用freq=FALSE参数不给出有百分比的直方图,它将直方图规范化,使总面积等于1。

要获得某些数据集(例如x)的百分比直方图,请执行:

h = hist(x)
h$density = h$counts/sum(h$counts)*100
plot(h,freq=FALSE)

基本上,你要做的是创建一个直方图对象,将密度属性更改为百分比,然后重新绘制。

用户回答回答于

如果要显式列出x在x轴上(即绘制整数变量(如计数)的百分比),下面的命令是更方便的选择:

# Make up some data
set.seed(1)
x <- rgeom(100, 0.2)

# One barplot command to get histogram of x
barplot(height = table(factor(x, levels=min(x):max(x)))/length(x),
        ylab = "proportion",
        xlab = "values",
        main = "histogram of x (proportions)")

# Comparison to hist() function
h = hist(x, breaks=(min(x)-1):(max(x))+0.5)
h$density = h$counts/sum(h$counts)*100
plot(h,freq=FALSE, main = "histogram of x (proportions)")

扫码关注云+社区