我试图在箱线图中捕获我的所有数据。我在Cross Validated中找到了一个很好的例子,但它并不完全适合我,我希望有人可以帮助我。
我的代码是:
boxplot(x,horizontal=TRUE,boxwex=.7,axes=FALSE,frame.plot=TRUE)
axis(1,at=xlab,labels=xlab)
opar <- par()
layout(matrix(1:3,nr=1,nc=3),heights=c(1,1,1),widths=c(1,6,1))
par(oma = c(5,4,0,0) + 0.1,mar = c(0,0,1,1) + 0.1)
stripchart(x[x< -400],pch=1,cex=1,xlim=c(-1700000,-400),method="jitter")
boxplot(x[abs(x)<400],horizontal=TRUE,ylim=c(-400,400),at=0,boxwex=.7,cex=1,method="jitter")
stripchart(x[x> 400],pch=1,cex=1,xlim=c(400,60000),method="jitter")
par(opar)
但是抖动在箱线图中不起作用,并且条形图不应该从0开始。如果我能弄清楚如何粘贴输出图表,我会这样做。
[1] -1620000.00 -85000.00 -32672.62 -30963.50 -28335.64 -26531.30 -18305.68 -13964.04 -13500.00
[10] -13248.48 -10975.05 -7410.00 -6034.32 -5629.00 -5349.09 -5125.00 -4994.45 -4973.72
[19] -4404.84 -4063.76 -3632.77 -3118.50 -3056.18 -3000.00 -2774.00 -2699.86 -2541.50
[28] -2327.06 -2238.89 -1750.00 -1548.63 -1343.25 -1271.67 -1187.55 -1114.80 -1087.44
[37] -1084.59 -1080.00 -977.20 -936.00 -900.00 -896.50 -853.60 -850.00 -792.00
[46] -791.44 -773.53 -750.00 -750.00 -710.82 -700.00 -697.68 -678.00 -665.00
[55] -620.00 -578.49 -513.96 -500.00 -474.18 -468.51 -412.47 -334.50 -332.50
[64] -331.20 -305.32 -300.00 -300.00 -244.04 -239.65 -212.30 -210.00 -203.32
[73] -202.15 -199.50 -198.24 -188.64 -177.25 -174.78 -169.80 -168.80 -168.25
[82] -166.75 -144.35 -140.00 -129.98 -126.74 -120.33 -120.00 -115.92 -114.99
[91] -112.45 -108.00 -106.64 -103.40 -100.00 -100.00 -98.28 -95.68 -89.36
[100] -87.84 -86.59 -75.68 -72.16 -72.04 -71.13 -65.52 -51.00 -50.00
[109] -50.00 -44.12 -41.25 -40.00 -35.18 -35.14 -34.41 -33.82 -33.80
[118] -33.60 -32.98 -30.00 -30.00 -29.13 -28.00 -27.44 -26.46 -26.32
[127] -25.92 -25.50 -25.06 -25.00 -21.84 -20.00 -19.63 -19.14 -18.64
[136] -18.60 -18.00 -17.25 -16.72 -16.69 -16.54 -15.50 -15.00 -13.51
[145] -12.16 -11.78 -11.69 -11.56 -11.26 -10.97 -10.88 -10.84 -10.62
[154] -10.45 -10.20 -10.00 -9.83 -9.04 -9.00 -8.75 -8.70 -8.50
[163] -8.28 -8.26 -7.92 -7.88 -7.74 -6.70 -6.44 -6.10 -5.35
[172] -5.04 -4.84 -4.73 -4.65 -4.50 -4.44 -4.40 -4.34 -4.25
[181] -4.00 -3.99 -3.98 -3.96 -3.94 -3.70 -3.08 -2.88 -2.85
[190] -2.75 -2.52 -2.14 -2.06 -2.00 -1.98 -1.96 -1.92 -1.74
[199] -1.68 -1.50 -1.10 -1.08 -0.89 -0.67 -0.60 -0.50 -0.48
[208] -0.42 -0.40 -0.30 -0.14 -0.04 0.00 0.00 0.00 0.00
[217] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[226] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[235] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[244] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[253] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[262] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[271] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[280] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[289] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[298] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[307] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[316] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[325] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[334] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[343] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[352] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[361] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[370] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[379] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[388] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[397] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[406] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[415] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[424] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[433] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[442] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[451] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[460] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[469] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[478] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[487] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[496] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[505] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[514] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[523] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[532] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[541] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[550] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[559] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[568] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[577] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[586] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[595] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[604] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[613] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[622] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[631] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[640] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[649] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[658] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[667] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[676] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[685] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 0.21
[694] 0.40 0.44 0.46 0.46 0.48 0.59 0.70 1.00 1.14
[703] 1.17 1.25 1.28 1.40 1.42 1.60 1.68 2.10 2.10
[712] 2.16 2.32 2.34 2.37 2.52 2.80 2.88 3.50 3.51
[721] 3.99 4.76 5.00 5.63 5.76 5.85 5.85 6.00 6.20
[730] 6.50 7.36 8.07 8.68 9.25 9.67 9.80 9.82 11.02
[739] 14.00 15.00 15.04 15.27 16.60 17.55 17.68 19.50 20.94
[748] 21.81 23.51 23.86 24.57 24.57 25.96 27.36 27.44 27.81
[757] 29.20 29.59 29.72 30.30 38.50 39.77 47.20 47.92 50.00
[766] 50.59 51.00 54.20 65.02 68.00 71.28 75.00 92.80 95.28
[775] 105.29 110.00 126.84 134.04 134.24 140.00 140.58 147.50 148.78
[784] 152.48 173.80 181.37 181.80 185.60 186.90 188.48 201.30 209.50
[793] 215.27 228.64 240.00 243.68 248.08 250.00 250.00 255.58 277.50
[802] 282.00 285.40 290.80 304.39 325.00 327.76 339.80 362.00 372.93
[811] 373.24 380.70 400.00 440.00 450.00 493.74 508.50 510.64 538.20
[820] 551.37 565.00 570.95 612.22 616.00 653.40 665.24 666.75 667.20
[829] 718.23 770.66 825.26 855.79 884.00 1000.00 1064.00 1064.77 1080.00
[838] 1152.00 1159.62 1177.24 1271.27 1495.52 1590.00 1670.00 1739.79 2075.68
[847] 2496.00 3570.00 3648.64 4152.64 4158.00 4556.44 4594.75 5040.00 5099.40
[856] 5150.67 5926.65 5967.81 6110.64 6144.00 6942.20 7350.00 7525.32 8667.90
[865] 9601.02 11557.20 12360.12 14425.70 15000.00 17962.14 27655.72 34709.96 45430.00
[874] 50000.00 57785.00
答案 0 :(得分:0)
好的,我没有经历过我使用的繁琐过程(在获得另一个Tumbleweed“奖之前”),而是在2015年发布了一个更好的解决方案,由bdemarest发布,标题为“了解抖动的Boxplot”。如果我的数据框名为DRP,标题为“Cost_Delta”和“Month”(2017年1月的数据在第一篇文章中),我的解决方案图表可以在https://i.stack.imgur.com/sSWtr.png找到。代码如下。
DRP<-read.table("C:\\Projects\\Mat Group\\DRP\\1000_Item_Data\\RFiles\\Cost Delta\\DRP_CostDelta2.txt",header=TRUE)
DRP$Month <- as.character(DRP$Month)
DRP$Month <- factor(DRP$Month, levels=unique(DRP$Month))
library(ggplot2)
p<-ggplot(DRP, aes(x=Month, y=Cost_Delta)) +
geom_point(aes(fill=Month), size=2, shape=21, colour="grey20",
position=position_jitter(width=0.2, height=0.1)) +
geom_boxplot(outlier.colour=NA, fill=NA, colour="grey20")
p + scale_y_continuous(labels=comma,breaks=seq(-300000,350000,50000)) +
labs(x="Month-Year", y="Cost Delta (Demand-DRP Forecast)") +
#*** January Outliers
geom_text(x=1, y=-250000, label="-1,620,000",size=3) +
geom_segment(aes(x=1, xend=1, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** February Outliers
geom_text(x=2, y=300000, label="1,101,786",size=3) +
geom_segment(aes(x=2, xend=2, y=325000, yend=326000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
geom_text(x=2, y=-250000, label="-7,020,000",size=3) +
geom_segment(aes(x=2, xend=2, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** March Outliers
geom_text(x=3, y=-250000, label="-3,780,000",size=3) +
geom_segment(aes(x=3, xend=3, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** August Outliers
geom_text(x=6, y=-225000, label="-484,960",size=3) +
geom_text(x=6, y=-250000, label="-540,000",size=3) +
geom_segment(aes(x=6, xend=6, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** September Outliers
geom_text(x=7, y=300000, label="593,960",size=3) +
geom_segment(aes(x=7, xend=7, y=325000, yend=326000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
geom_text(x=7, y=-250000, label="-484,960",size=3) +
geom_segment(aes(x=7, xend=7, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** October Outliers
geom_text(x=8, y=300000, label="969,920",size=3) +
geom_segment(aes(x=8, xend=8, y=325000, yend=326000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** November Outliers
geom_text(x=9, y=300000, label="2,909,760",size=3) +
geom_segment(aes(x=9, xend=9, y=325000, yend=326000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
#*** December Outliers
geom_text(x=10, y=300000, label="1,080,000",size=3) +
geom_segment(aes(x=10, xend=10, y=325000, yend=326000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red") +
geom_text(x=10, y=-250000, label="-1,939,000",size=3) +
geom_segment(aes(x=10, xend=10, y=-275000, yend=-276000),
arrow = arrow(length = unit(0.3, "cm"),ends="last", type = "closed"),col="red")