假设数据为:
y=rpois(100,50)
z=rpois(50,500)
x=rpois(5,1000)
v=c(y,z,x)
当我执行stem(v)
时,它将小数点放在|右边两位。我试过使用scale
和width
,但似乎无法在|上强制小数。有办法做到这一点吗?如果是,怎么做?
嗯,不,因为你的数据是31和1021之间(对于我的随机数)。stem的概念就是尽可能多地展示数据点。如果小数点在柱状图上,那么柱状图的右边就不会有任何东西了,因为你得到的是整数…
stem(v/100)
做你说的,但我不确定这是你想要的…
这是一个hack。它的工作原理是:(1)捕获stem
的输出,(2)将小数点放在|
的右边,(3)将行写回控制台。
stem_with_dot <- function(x, ...){
h = capture.output(stem(x, ...))
stem_plot = sub("\| ([0-9]{2})", "| \1.", h)
writeLines(stem_plot)
return(invisible)
}