如何在R中绘制条形图或直方图,表明概率(离散数据)?

时间:2014-10-09 10:37:53

标签: r plot

我是R.的新手。我有离散数据。我想绘制一个图表(条形图或直方图),指示每个现有值(在我的数据中)的标准化出现次数(该值的实际计数除以总记录)。目前我已经想出使用:

hist(mydata$x,5,probability = TRUE)

其中数字5对应于矩形的数量。如果矩形的底部长度为1,则此示例有效,因此我总是需要知道结果的范围,而我不能拥有{0,0.5,1,1.5,...}等数据。如何制定更通用的解决方案?我真的认为有一个单行解决方案,对于一些基本的东西。 感谢

2 个答案:

答案 0 :(得分:1)

我认为你正在寻找组合

table()
barplot()

e.g。

counts <- table(mtcars$gear)
barplot(counts / sum(counts), main="Car Distribution", xlab="Number of Gears") 

答案 1 :(得分:0)

是的。有一行。

barplot(prop.table(table(data $ x))) data $ x是一个离散变量。 table(data $ x)将为您提供一个表,其中第一行= data $ x和 第二行=每个值的频率。 prop.table(table(data $ x))也会给你一张桌子。同一张桌子,但这次每次 值将除以变量data $ x的长度,因此您将获得 具有每个不同值的概率。 barplot将为您绘制一个条形图。在x轴上,您将获得prop.table(table(data(x $ x)))的第一行。在y轴,您将获得prop.table(table(data(x $ x)))的第二行。