2

盒须图显示以下信息:最大值、最小值、平均值、第 75 个百分位、第 25 个百分位。如果我有这些信息,我可以绘制相应的黑白图吗?

我有这个名为 TP.df 的数据框:

        pb1    ag1     pb2     ag2     pb3    ag3
Nb      498    498      85      85      68     68
Min       0      0       0       0       0      0
Max    1.72    461   2.641   260.8     0.3    144
Mean   0.06   19.2    0.15   35.35    0.02   9.11
75_p   0.06     20    0.08      33    0.02      8
25_p   0.01     10       0      14    0.01      4

文件:

,pb1,ag1,pb2,ag2,pb3,ag3
Nb,498,498,85,85,68,68
Min,0,0,0,0,0,0
Max,1.72,461,2.641,260.8,0.3,144
Mean,0.06,19.2,0.15,35.35,0.02,9.11
75_p,0.06,20,0.08,33,0.02,8
25_p,0.01,10,0,14,0.01,4

我怎样才能有相应的盒须图:

  • 它必须显示 6 个框
  • x 轴 : pb1, ag1, pb2, ag2, pb3,ag3
  • y轴:0max(TP.df[Max,])
4

3 回答 3

7

用于bxp根据五个数字的摘要制作箱线图。

这会做你想做的事情吗?

testdata=data.frame(R1=c(0,5,3,2,4),R2=c(1,7,3,2.8,6))
o=c(1,5,3,4,2) # the rows in increasing order
bxp.data=list(stats=data.matrix(testdata[o,]),n=rep(1,ncol(testdata)))
# the n=... parameter doesn't affect the plot, but it still needs to be there
bxp(bxp.data)

您可以使用标准图形参数(请参阅 参考资料help(par))来标记轴并使其看起来很漂亮。

(注意:行号减一,因为在我发布此答案后对问题进行了编辑。我将保持原样,使其与前两条评论相匹配。)

于 2013-08-02T07:38:15.347 回答
1

这可能是一个解决方案:

  #create a dummy boxplot that you can modify the data easily
  z<- boxplot(1:10)

  #look at the outbut an assign yout data to stats
  z$stats<- your_data

  #use bxp to plot, via add you can combine all three
  bxp(z)

或从一开始就使用 bxp 功能.. 另请参阅: http ://r.789695.n4.nabble.com/Box-plot-with-5th-and-95th-percentiles-instead-of-1-5-IQR -问题-实施-现有解决方案-td3456123.html

于 2013-08-02T07:25:59.947 回答
0

使用带有 的手动箱线图ggplot,您可以操纵绘图美学并添加其他参数:

ggplot()+geom_boxplot(aes(x=1, y = 2:5, lower = 3, upper = 4, middle = 3.5, ymin=2, ymax=5))
于 2019-07-11T23:36:07.750 回答