Trong bài trước, mình có tập
tành chút với biểu đồ thanh với sai số chuẩn (error bar plot). Ở biểu đồ này,
cho chúng ta cái nhìn trực quan về các thông tin: giá trị trung bình (mean) và
sai số chuẩn (sd). Trong phạm vi cái note này, mình bắt chước và tập tành vẽ biểu
đồ đường với sai số chuẩn (error bars) với ggplot2, tức là, biểu đồ thể hiện được
3 thông số (đường, điểm và sai số chuẩn của trung bình hoặc khoảng tin cậy
95%). Đó là những hữu ích mà error bars mang lại. Việc phản ảnh dữ liệu bằng biểu
đồ rất quan trọng trong phân tích mô tả và phân tích suy luận.
Hãy cùng tập tành chút với
biểu đồ sai số chuẩn ở ví dụ dưới đây:
# library(ggplot2)
> names(er)
[1] "CTTN" "Age" "Dgoc" "sd"
> head(er)
CTTN Age Dgoc sd
1 DC 1.2 2.20 0.59
2 CT1 1.2 2.58 0.69
3 CT2 1.2 2.31 0.77
4 CT3 1.2 2.67 0.81
5 DC 2.3 4.88 1.57
6 CT1 2.3 3.22 0.95
> p=ggplot(data=er, aes(x=CTTN, y=Dgoc, color=Age))+
geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position =
pd)+geom_line(position=pd)+geom_point(position = pd)
> p1=ggplot(data=er, aes(x=Age, y=Dgoc, fill=CTTN, color=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line()+geom_point(position=pd, size=3)
> p2=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")
> p3=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")+expand_limits(y=0)+ scale_y_continuous()+theme_bw()+theme(legend.justification = c(1,0), legend.position = c(1,0))
Ở biểu đồ trên, giá trị ở
các CTTN chưa thể hiện đúng với độ tuổi (trục hoành), để khắc phục điều đó bạn
có thể thêm layer: scale_x_continuous(breaks = c(1.2,2.3)) và kết quả như sau:
> p3=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")+expand_limits(y=0)+ scale_y_continuous()+theme_bw()+theme(legend.justification = c(1,0), legend.position = c(1,0))+ scale_x_continuous(breaks = c(1.2,2.3))
Ở biểu đồ
trên cho thấy, cái nhìn trực quan nhất về biến động giá trị đường kính gốc
trung bình của cây Keo lá liềm ở các CTTN khác nhau ở các giai đoạn sinh trưởng
khác nhau. Ở giai đoạn 24 tháng tuổi, giá trị sinh trưởng bình quân của cây Keo
lá liềm chưa có sự khác nhau rõ rệt giữa các CTTN. Tuy nhiên, ở giai đoạn 27
tháng tuổi, sinh trưởng đường kính gốc ở công thức ĐC có sự khác biệt lớn (rõ rệt)
với CTTN (đường màu tím ở hình trên).
Ở biểu đồ
này, chúng ta có thể biết thêm các thông tin: ở giai đoạn 24 tháng tuổi (1,2 tuổi),
cây Keo lá liềm có sinh trưởng đường kính gốc ở các CTTN dao động từ Dgoc = 2,2
± 0,59cm (mean ± sd) ở công thức ĐC đến Dgoc = 2,67 ± 0,81cm (CT3), với hệ số
biến động (CV%) từ 26,7 - 33,3%. Ở giai đoạn 27 tháng tuổi (2,3 tuổi), sinh trưởng
đường kính gốc bình quân đạt từ Dgoc = 3,2 ± 0,95cm (CT1) đến Dgoc = 4,88 ±
1,57cm (ĐC), với hệ số biến động từ 29,5 - 39,7%.
Trên đây,
mình có bắt chước và thực hành vẽ biểu đồ với sai số chuẩn (error bars) cũng
như nói qua một chút về ý nghĩa của nó. Bởi, mỗi loại biểu đồ có một ý nghĩa nhất
định. Tùy thuộc vào mục đích nghiên cứu mà thể hiện các loại biểu đồ khác nhau.
0 nhận xét:
Post a Comment