繁体   English   中英

R绘图频率分布

[英]R plotting frequency distribution

我知道我们通常这样做:

x=c(rep(0.3,100),rep(0.5,700))
plot(table(x))

但是,我们在图中只能得到一些点或垂直线。

如果我希望0.3以上的100个点和0.5以上的700个点怎么办?

像这样吗

x <- c(rep(.3,100), rep(.5, 700))
y <- c(seq(0,1, length.out=100), seq(0,1,length.out=700))
plot(x,y)

编辑:(根据OP的评论)

在这种情况下,类似的事情应该起作用。

x <- rep(seq(1, 10)/10, seq(100, 1000, by=100))
x.t <- as.matrix(table(x))
y <- unlist(apply(x.t, 1, function(x) seq(1,x)))
plot(x,y)

您可以使用linetypelinewidth设置...

plot(table(x),lty=3,lwd=0.5)

在此处输入图片说明

对于较小的数字(计数),可以将stripchartmethod="stack"如下所示:

stripchart(c(rep(0.3,10),rep(0.5,70)), pch=19, method="stack", ylim=c(0,100))

但是stripchart不适用于700点。


编辑:

软件包TeachingDemos中dots()函数可能是您想要的:

 require(TeachingDemos)
 dots(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM