我的文档和plot()
的返回值存在问题。我想在图中添加一条平均值的水平线,但我无法计算它。我希望能够使用情节的价值,但我失败了。例如:
> x<-sample(5, 10, replace=TRUE)
> x
[1] 3 5 1 4 5 4 2 4 1 5
> y<-plot(factor(x))
> y
[,1]
[1,] 0.7
[2,] 1.9
[3,] 3.1
[4,] 4.3
[5,] 5.5
显然,域和范围都是整数,那么绘图返回的这个数字究竟是什么意思,我怎样才能得到平均条形高度?
当然(如果没有更优雅的解决方案)我可以迭代计算每个项目数量的因子水平,然后取这些项目的平均值。此外,如果您使用hist()
代替plot()
,那么解决方案非常简单:abline(h=mean(hist(x)$counts))
答案 0 :(得分:-1)
要添加水平线,只需说:
abline(h = mean(x))
abline(h = whatever)给你一条水平线。 abline(y = whatever)给你一条垂直线。
答案 1 :(得分:-1)
我自己发明的(大多数?)复杂的解决方案可能是这样的:
abline(h=mean(unlist(lapply(min(x):max(x), function(ff) length(which(x == ff))))))
当然,此解决方案仅在x
是一个因素且水平为数字时才有效;否则将min(x):max(x)
替换为levels(x)
。
(对我来说更难理解)似乎是一个更简单的解决方案(来自@Marco Sandri):
abline(h=length(x)/length(y))