假设我有 30 次试验 1、40 次试验 2 和 50 次试验 3。如果我使用此代码:
library(lattice)
a <- c(30,40,50)
histogram(a)
然后结果的数量将显示为范围而不是频率。有没有比列3 50次更方便的方法?
编辑:在一项实验中,研究人员正在计算手机跌落后会损坏多少次。第 1 次试用后 30 部手机坏了,第 2 次后 40 部手机坏了,第 3 次后 50 部手机坏了。所以我想介绍一下这种趋势。然而,在我前面的代码一样,图中看起来像以下:图这里,r对待我的数据作为一个案例。因此,我正在寻找一些方法来使这些数据以案例频率的形式出现。
我认为barplot
是实现这一目标的最佳途径,正如其他人在评论中已经说过,但它看起来好像你也想知道一种“非表”的计数来创建直方图。您可以使用rep
以下方法执行此操作:
a <- rep(1:3, c(30, 40, 50))
a
#> [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2
#> [35] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
#> [69] 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
#> [103] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
如果你真的想要,你可以用直方图绘制它,像这样:
hist(a, breaks = 0:3 + .5, main = "frequency", xlab = "n", axes = FALSE)
axis(side = 2, at = 0:5 * 10)
axis(side = 1, at = 1:3)
但是,直方图并不是您真正想要的。直方图是一种通过将连续数据放入“箱”来计算连续数据的方法,因此在直方图中,x 轴是连续的。以这种方式绘制它意味着有可能打破手机 1.6 次或 2.38 次。
如果要显示离散事件的计数,应使用条形图。这具有适用于计数数据的优点,并且更容易创建:
barplot(c(30,40,50), names.arg = 1:3, col = "lavender", main = "Broken phones")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句