有没有办法强制R将小数放在茎和叶图中的管道上?

时间:2011-10-26 15:19:03

标签: r

我们假设数据是:

y=rpois(100,50)
z=rpois(50,500)
x=rpois(5,1000)
v=c(y,z,x)

当我stem(v)时,它将小数位置放在|的右边两个位置。我尝试过使用scalewidth但似乎无法在|中强制使用小数。有没有办法做到这一点?如果是,怎么样?

2 个答案:

答案 0 :(得分:1)

这是一个黑客。它的工作原理是:(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)
}

答案 1 :(得分:1)

嗯,不,因为你的数据在31到1021之间(对于我的随机数)。干的想法是尝试尽可能多地显示您的数据点。如果小数位于条形区域,则不会在条形图的右侧留下任何内容,因为您有整数...

stem(v/100)

做你说的,但我不确定你想要的......