ในส่วนของการวิจัยของฉันวิธีที่นิยมในการแสดงข้อมูลคือการใช้แผนภูมิแท่งร่วมกับ "handle-bars" ตัวอย่างเช่น,
"มือจับบาร์" สลับกันระหว่างข้อผิดพลาดมาตรฐานและส่วนเบี่ยงเบนมาตรฐานขึ้นอยู่กับผู้แต่ง โดยทั่วไปขนาดตัวอย่างสำหรับแต่ละ "บาร์" นั้นค่อนข้างเล็ก - ประมาณหก
แผนการเหล่านี้ดูเหมือนจะได้รับความนิยมเป็นพิเศษในสาขาวิทยาศาสตร์ชีวภาพ - ดูตัวอย่างเอกสารสองสามฉบับแรกของBMC Biology, vol 3สำหรับตัวอย่าง
ดังนั้นคุณจะนำเสนอข้อมูลนี้อย่างไร
ทำไมฉันไม่ชอบแปลงเหล่านี้
ส่วนตัวฉันไม่ชอบแปลงเหล่านี้
- เมื่อขนาดตัวอย่างเล็กทำไมไม่เพียงแสดงจุดข้อมูลแต่ละจุด
- มันคือ sd หรือ se ที่กำลังถูกแสดง? ไม่มีใครตกลงที่จะใช้
- ทำไมต้องใช้บาร์เลย ข้อมูลไม่ได้ (ปกติ) ไปจาก 0 แต่ผ่านครั้งแรกที่กราฟแสดงให้เห็นว่ามันไม่
- กราฟไม่ได้ให้ข้อมูลเกี่ยวกับช่วงหรือขนาดตัวอย่างของข้อมูล
สคริปต์ R
นี่คือรหัส R ที่ฉันใช้ในการสร้างพล็อต ด้วยวิธีนี้คุณสามารถ (ถ้าคุณต้องการ) ใช้ข้อมูลเดียวกัน
#Generate the data
set.seed(1)
names = c("A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "C3")
prevs = c(38, 37, 31, 31, 29, 26, 40, 32, 39)
n=6; se = numeric(length(prevs))
for(i in 1:length(prevs))
se[i] = sd(rnorm(n, prevs, 15))/n
#Basic plot
par(fin=c(6,6), pin=c(6,6), mai=c(0.8,1.0,0.0,0.125), cex.axis=0.8)
barplot(prevs,space=c(0,0,0,3,0,0, 3,0,0), names.arg=NULL, horiz=FALSE,
axes=FALSE, ylab="Percent", col=c(2,3,4), width=5, ylim=range(0,50))
#Add in the CIs
xx = c(2.5, 7.5, 12.5, 32.5, 37.5, 42.5, 62.5, 67.5, 72.5)
for (i in 1:length(prevs)) {
lines(rep(xx[i], 2), c(prevs[i], prevs[i]+se[i]))
lines(c(xx[i]+1/2, xx[i]-1/2), rep(prevs[i]+se[i], 2))
}
#Add the axis
axis(2, tick=TRUE, xaxp=c(0, 50, 5))
axis(1, at=xx+0.1, labels=names, font=1,
tck=0, tcl=0, las=1, padj=0, col=0, cex=0.1)