แผนภูมิแท่งและฮิสโตแกรมใน R พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
แผนภูมิแท่งและฮิสโตแกรมใน R สร้างขึ้นโดยใช้ ggplot2 โดยใช้ geom_bar() สำหรับจำนวนนับแบบจัดกลุ่ม และ geom_histogram() สำหรับการกระจายแบบต่อเนื่อง บทแนะนำนี้จะปรับแต่งสีและกลุ่มต่างๆpingรวมถึงการเรียงซ้อน การวางแนว การจัดกลุ่ม และป้ายกำกับภายในแท่งกราฟในชุดข้อมูล mtcars
แผนภูมิแท่งใน R คืออะไร?
แผนภูมิแท่งเป็นวิธีที่ดีในการแสดงตัวแปรหมวดหมู่ในแกน x กราฟประเภทนี้แสดงถึงสองด้านในแกน y
- วิธีแรกคือการนับจำนวนครั้งที่ปรากฏในแต่ละกลุ่ม
- กราฟที่สองแสดงค่าสถิติสรุป (ค่าต่ำสุด ค่าสูงสุด ค่าเฉลี่ย และอื่นๆ) ของตัวแปรบนแกน y
คุณจะใช้ชุดข้อมูล mtcars ซึ่งมีตัวแปรดังต่อไปนี้:
- cyl: จำนวนกระบอกสูบในรถ ตัวแปรตัวเลข
- am: ประเภทเกียร์ 0 สำหรับเกียร์อัตโนมัติ และ 1 สำหรับเกียร์ธรรมดา เกียร์แปรผันตัวเลข
- mpg: ไมล์ต่อแกลลอน ตัวแปรตัวเลข
เนื่องจากฮิสโตแกรมมีลักษณะคล้ายคลึงกันมาก จึงควรตรวจสอบความแตกต่างให้ชัดเจนก่อนที่จะเขียนโค้ดใดๆ
แผนภูมิแท่งและฮิสโตแกรมใน R: ความแตกต่างที่สำคัญ
แผนภูมิทั้งสองดูคล้ายกัน และมักทำให้เกิดความสับสนอยู่เสมอ แผนภูมิทั้งสองตอบคำถามต่างกันและใช้รูปทรงเรขาคณิตที่แตกต่างกัน
| หลักเกณฑ์ | แผนภูมิบาร์ | Histogram |
|---|---|---|
| ตัวแปรแกน X | ประเภทหรือปัจจัย | ต่อเนื่องและเชิงตัวเลข |
| บาร์นั้นหมายถึงอะไร | หนึ่งหมวดหมู่ | ช่วงค่าหนึ่งช่วง หรือหนึ่งช่อง |
| ช่องว่างระหว่างแท่ง | ใช่แล้ว หมวดหมู่ต่างๆ แยกออกจากกัน | ไม่ ถังขยะอยู่ติดกัน |
| สั่งเครื่องดื่มที่บาร์ | สามารถจัดเรียงใหม่ได้อย่างอิสระ | แก้ไขโดยมาตราส่วนตัวเลข |
| คำถามได้รับคำตอบแล้ว | กลุ่มต่างๆ มีความแตกต่างกันอย่างไร? | ตัวแปรหนึ่งตัวมีการกระจายตัวอย่างไร? |
| อ็อบเจ็กต์ ggplot2 | geom_bar() | geom_histogram() |
หลักการโดยทั่วไปคือ: ถ้าการเรียงลำดับแท่งกราฟใหม่ยังคงมีความหมาย คุณก็จะได้แผนภูมิแท่ง แต่ถ้าการเรียงลำดับแท่งกราฟใหม่ทำให้ความหมายเสียไป คุณก็จะได้ฮิสโตแกรม สำหรับการสรุปข้อมูลตามควอไทล์ของตัวแปรต่อเนื่องเดียวกัน ให้ใช้... พล็อตกล่อง.
วิธีการสร้างแผนภูมิแท่งใน R
เพื่อสร้างกราฟใน Rคุณสามารถใช้ไลบรารี ggplot ซึ่งสร้างกราฟที่พร้อมสำหรับการเผยแพร่ ไวยากรณ์พื้นฐานของไลบรารีนี้คือ:
ggplot(data, mapping = aes()) + geometric object arguments: data: dataset used to plot the graph mapping: Control the x and y-axis geometric object: The type of plot you want to show. The most common objects are: - Point: `geom_point()` - Bar: `geom_bar()` - Line: `geom_line()` - Histogram: `geom_histogram()`
บทช่วยสอนนี้เน้นที่ออบเจ็กต์ทางเรขาคณิต geom_bar() ซึ่งใช้ในการวาดแผนภูมิแท่ง และ geom_histogram() สำหรับข้อมูลต่อเนื่อง
แผนภูมิแท่ง: นับ
กราฟแรกของคุณแสดงความถี่ของทรงกระบอกด้วย geom_bar() โค้ดด้านล่างเป็นไวยากรณ์พื้นฐานที่สุด
library(ggplot2) # Most basic bar chart ggplot(mtcars, aes(x = factor(cyl))) + geom_bar()
Code คำอธิบาย
- คุณส่งชุดข้อมูล mtcars ไปที่ ggplot
- ภายในอาร์กิวเมนต์ aes() คุณกำหนดค่าแกน x ให้เป็นตัวแปรแฟกเตอร์ cyl
- เครื่องหมาย + หมายถึงคุณต้องการให้ R อ่านโค้ดต่อไป ซึ่งจะทำให้โค้ดอ่านง่ายขึ้นโดยการทำลายโค้ด
- ใช้ geom_bar() สำหรับวัตถุทางเรขาคณิต
Output:
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณแปลงตัวแปรเป็นปัจจัย มิฉะนั้น R จะถือว่าตัวแปรเป็นตัวเลข ดูตัวอย่างด้านล่าง
ปรับแต่งกราฟ
สามารถส่งผ่านข้อโต้แย้งสี่ข้อเพื่อปรับแต่งกราฟ:
- `stat`: Controls what is plotted on the y-axis. By default `count`, which tallies rows. To plot a value you already computed, pass `stat = "identity"`
- `alpha`: Control density of the color
- `fill`: Change the color of the bar
- `size`: Control the size the bar
เปลี่ยนสีของแถบ
คุณสามารถเปลี่ยนสีของแถบได้ โปรดทราบว่าสีของแท่งจะคล้ายกันทั้งหมด
# Change the color of the bars ggplot(mtcars, aes(x = factor(cyl))) + geom_bar(fill = "coral") + theme_classic()
Code คำอธิบาย
- สีของแท่งกราฟถูกควบคุมโดยแผนที่ aes()ping ภายในวัตถุทางเรขาคณิต (เช่น ไม่ใช่ภายในฟังก์ชัน ggplot()) คุณสามารถเปลี่ยนสีได้โดยใช้พารามิเตอร์ fill ในที่นี้ คุณเลือกสีปะการัง
Output:
คุณสามารถใช้รหัสนี้:
grDevices::colors()
เพื่อดูสีทั้งหมดที่มีใน R มีประมาณ 650 สี
เปลี่ยนความเข้ม
คุณสามารถเพิ่มหรือลดความเข้มของสีของแท่งได้
# Change intensity ggplot(mtcars, aes(factor(cyl))) + geom_bar(fill = "coral", alpha = 0.5) + theme_classic()
Code คำอธิบาย
- ในการเพิ่ม/ลดความเข้มของแถบ คุณสามารถเปลี่ยนค่าอัลฟาได้ ค่าอัลฟามากจะเพิ่มความเข้ม และค่าอัลฟาน้อยจะลดความเข้ม ค่าอัลฟาอยู่ระหว่าง 0 ถึง 1 ที่ค่า 1 สีจะตรงกับจานสีอย่างแม่นยำ ที่ค่า 0 แถบจะมองไม่เห็น ในที่นี้คุณเลือกค่าอัลฟา = 0.5
Output:
ระบายสีตามกลุ่ม
คุณสามารถเปลี่ยนสีของแถบได้ ซึ่งหมายถึงสีที่แตกต่างกันหนึ่งสีสำหรับแต่ละกลุ่ม ตัวอย่างเช่น ตัวแปรทรงกระบอกมีสามระดับ จากนั้นคุณสามารถลงจุดแผนภูมิแท่งด้วยสีสามสีได้
# Color by group ggplot(mtcars, aes(factor(cyl), fill = factor(cyl))) + geom_bar()
Code คำอธิบาย
- อาร์กิวเมนต์ `fill` ภายในฟังก์ชัน `aes()` จะเปลี่ยนสีของแท่งกราฟ คุณสามารถเปลี่ยนสีได้โดยการตั้งค่า `fill = x-axis variable` ในตัวอย่างของคุณ ตัวแปรแกน x คือ `cyl` ดังนั้น `fill = factor(cyl)`
Output:
เพิ่มกลุ่มในแถบ
คุณสามารถแยกแกน y เพิ่มเติมตามระดับปัจจัยอื่นได้ เช่น คุณสามารถนับจำนวนเกียร์อัตโนมัติและเกียร์ธรรมดาตามประเภทของกระบอกสูบได้
คุณจะดำเนินการดังต่อไปนี้:
- ขั้นตอนที่ 1: สร้าง data frame ด้วยชุดข้อมูล mtcars
- ขั้นตอนที่ 2: กำหนดป้ายกำกับตัวแปร am ด้วย auto สำหรับเกียร์อัตโนมัติและ man สำหรับเกียร์ธรรมดา แปลง am และ cyl เป็นตัวประกอบเพื่อที่คุณจะไม่จำเป็นต้องใช้ factor() ในฟังก์ชัน ggplot()
- ขั้นตอนที่ 3: วาดแผนภูมิแท่งเพื่อนับจำนวนการส่งกำลังตามกระบอกสูบ
library(dplyr) # Step 1 data <- mtcars %>% #Step 2 mutate(am = factor(am, labels = c("auto", "man")), cyl = factor(cyl))
เมื่อเตรียมชุดข้อมูลพร้อมแล้ว คุณสามารถสร้างกราฟได้:
# ขั้นตอนที่ 3
ggplot(data, aes(x = cyl, fill = am)) + geom_bar() + theme_classic()
Code คำอธิบาย
- การเรียก ggplot() จะรับข้อมูลชุดข้อมูลและแผนที่ aes()ping.
- ใน aes() คุณรวมตัวแปรแกน x และตัวแปรใดที่จำเป็นในการเติมแท่ง (เช่น am)
- geom_bar(): สร้างแผนภูมิแท่ง
Output:
แผนที่ping จะเติมสีลงในแท่งกราฟสองสี โดยแต่ละสีแทนระดับหนึ่งๆ การเปลี่ยนกลุ่มทำได้ง่ายดายโดยการเลือกตัวแปรปัจจัยอื่นๆ ในชุดข้อมูล
แผนภูมิแท่งเป็นเปอร์เซ็นต์
คุณสามารถเห็นภาพแถบเป็นเปอร์เซ็นต์แทนการนับดิบได้
# แผนภูมิแท่งเป็นเปอร์เซ็นต์
ggplot(data, aes(x = cyl, fill = am)) + geom_bar(position = "fill") + theme_classic()
Code คำอธิบาย
- ใช้ตำแหน่ง = “เติม” ในอาร์กิวเมนต์ geom_bar() เพื่อสร้างกราฟิกที่มีเปอร์เซ็นต์ในแกน y
Output:
แถบด้านข้าง
เป็นเรื่องง่ายที่จะลงจุดแผนภูมิแท่งโดยมีตัวแปรกลุ่มอยู่เคียงข้างกัน
# Bar chart side by side ggplot(data, aes(x = cyl, fill = am)) + geom_bar(position = position_dodge()) + theme_classic()
Code คำอธิบาย
- position=position_dodge(): บอกวิธีจัดเรียงแท่งอย่างชัดเจน
Output:
แผนภูมิแท่งพร้อมสถิติสรุป
ในส่วนที่สองของบทเรียนนี้ แกน y จะแสดงค่าที่คำนวณได้แทนที่จะเป็นจำนวนนับ โปรดทราบว่านี่เป็นแผนภูมิแท่งอยู่ดี ฮิสโตแกรมที่แท้จริงจะกล่าวถึงในส่วนถัดไป และจะใช้รูปทรงเรขาคณิตที่แตกต่างออกไป
วัตถุประสงค์ของคุณคือสร้างกราฟด้วยไมล์เฉลี่ยต่อแกลลอนสำหรับกระบอกสูบแต่ละประเภท ในการวาดกราฟข้อมูล คุณจะต้องทำตามขั้นตอนเหล่านี้:
- ขั้นตอนที่ 1: สร้างตัวแปรใหม่ด้วยไมล์เฉลี่ยต่อแกลลอนต่อกระบอกสูบ
- ขั้นตอนที่ 2: สร้างฮิสโตแกรมพื้นฐาน
- ขั้นตอนที่ 3: เปลี่ยนการวางแนว
- ขั้นตอนที่ 4: เปลี่ยนสี
- ขั้นตอนที่ 5: เปลี่ยนขนาด
- ขั้นตอนที่ 6: เพิ่มป้ายกำกับให้กับกราฟ
ขั้นตอน 1) สร้างตัวแปรใหม่
คุณสร้างกรอบข้อมูลชื่อ data_histogram ซึ่งจะคืนค่าไมล์เฉลี่ยต่อแกลลอนตามจำนวนกระบอกสูบในรถยนต์ คุณเรียกตัวแปรใหม่นี้ว่า "mean_mpg" และปัดเศษค่าเฉลี่ยด้วยทศนิยม 2 ตำแหน่ง
# ขั้นตอนที่ 1
data_histogram <- mtcars %>% mutate(cyl = factor(cyl)) %>% group_by(cyl) %>% summarize(mean_mpg = round(mean(mpg), 2))
ขั้นตอน 2) สร้างฮิสโตแกรมพื้นฐาน
คุณสามารถสร้างฮิสโตแกรมได้ ถึงแม้จะยังไม่สมบูรณ์พอที่จะส่งให้ลูกค้า แต่ก็แสดงให้เห็นถึงแนวโน้มแล้ว
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) + geom_bar(stat = "identity")
Code คำอธิบาย
- ขณะนี้ aes() มีตัวแปรสองตัว ตัวแปรทรงกระบอกอ้างอิงถึงแกน x และ Mean_mpg คือแกน y
- คุณส่งค่า stat = “identity” เพื่อให้ฟังก์ชัน geom_bar() ใช้ตัวแปรแกน y ตามที่เป็นอยู่แทนที่จะนับจำนวนแถว ค่าเริ่มต้นของ geom_bar() คือ stat = “count”
Output:
ขั้นตอน 3) เปลี่ยนการวางแนว
คุณเปลี่ยนการวางแนวของกราฟจากแนวตั้งเป็นแนวนอน
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) + geom_bar(stat = "identity") + coord_flip()
Code คำอธิบาย
- คุณสามารถควบคุมการวางแนวของกราฟได้ด้วย coord_flip()
Output:
ขั้นตอน 4) เปลี่ยนสี
คุณสามารถแยกความแตกต่างของสีของแท่งตามระดับแฟกเตอร์ของตัวแปรแกน x
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) + geom_bar(stat = "identity") + coord_flip() + theme_classic()
Code คำอธิบาย
- คุณสามารถสร้างกราฟโดยแบ่งกลุ่มด้วยคำสั่ง fill=cyl mappingR จะจัดการเรื่องสีโดยอัตโนมัติตามระดับของตัวแปร cyl
Output:
ขั้นตอน 5) เปลี่ยนขนาด
หากต้องการให้กราฟดูสวยขึ้น คุณจะต้องลดความกว้างของแท่ง
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) + geom_bar(stat = "identity", width = 0.5) + coord_flip() + theme_classic()
Code คำอธิบาย
- พารามิเตอร์ width ในฟังก์ชัน geom_bar() ควบคุมความหนาของแท่งกราฟ ค่าที่มากขึ้นจะทำให้แท่งกราฟกว้างขึ้น
- กราฟจะถูกจัดเก็บไว้ในกราฟของวัตถุ เนื่องจากขั้นตอนถัดไปจะนำไปใช้ซ้ำโดยไม่เปลี่ยนแปลง การจัดเก็บกราฟระหว่างขั้นตอนจะช่วยให้โค้ดอ่านง่ายขึ้น
Output:
ขั้นตอน 6) เพิ่มป้ายกำกับให้กับกราฟ
ขั้นตอนสุดท้ายคือการเพิ่มค่า mean_mpg เป็นป้ายกำกับภายในแท่งกราฟแต่ละแท่ง
graph +
geom_text(aes(label = mean_mpg),
hjust = 1.5,
color = "white",
size = 3) +
theme_classic()
Code คำอธิบาย
- ฟังก์ชัน geom_text() มีประโยชน์ในการควบคุมความสวยงามของข้อความ
- label=: เพิ่มป้ายกำกับภายในแถบ
- Mean_mpg: ใช้ตัวแปร Mean_mpg สำหรับป้ายกำกับ
- hjust ควบคุมตำแหน่งของป้ายกำกับบนแท่งกราฟ ค่าที่ใกล้เคียงกับ 1 จะวางป้ายกำกับไว้ใกล้ปลายแท่งกราฟ และค่าที่มากขึ้นจะเลื่อนป้ายกำกับไปทางแกน หากกราฟมีการวางแนวในแนวตั้ง ให้เปลี่ยน hjust เป็น vjust
- color=”white”: เปลี่ยนสีของข้อความ ที่นี่คุณใช้สีขาว
- size=3: กำหนดขนาดของข้อความ
Output:
วิธีการเรียงลำดับและติดป้ายกำกับแท่งในแผนภูมิแท่งใน R
สิ่งสำคัญสองประการที่จะทำให้แผนภูมิฉบับร่างแตกต่างจากแผนภูมิที่พร้อมเผยแพร่ ได้แก่ การเรียงลำดับแท่งตามค่า และการติดป้ายกำกับแกนอย่างถูกต้อง
การจัดเรียงแท่งใหม่ โดยค่าเริ่มต้น ggplot2 จะเรียงลำดับระดับปัจจัยตามตัวอักษร ซึ่งแทบจะไม่ใช่ลำดับที่ให้ข้อมูลมากที่สุด หากต้องการเรียงลำดับตามตัวแปรที่สอง ให้ใช้ฟังก์ชัน reorder() ครอบตัวแปร x ไว้:
# Sort the bars from lowest to highest mean_mpg ggplot(data_histogram, aes(x = reorder(cyl, mean_mpg), y = mean_mpg)) + geom_bar(stat = "identity", fill = "coral") + theme_classic()
ใส่เครื่องหมายลบนำหน้าตัวแปรการเรียงลำดับ เช่น reorder(cyl, -mean_mpg) เพื่อกลับทิศทางการเรียงลำดับ
เพิ่มชื่อเรื่องและป้ายกำกับแกน ฟังก์ชัน labs() กำหนดค่าให้กับองค์ประกอบข้อความทั้งหมดได้ในการเรียกเพียงครั้งเดียว:
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) + geom_bar(stat = "identity") + labs(title = "Average fuel economy by cylinder count", subtitle = "mtcars dataset", x = "Number of cylinders", y = "Mean miles per gallon", fill = "Cylinders", caption = "Source: mtcars") + theme_classic()
ตั้งค่า fill = NULL ภายใน labs() เพื่อลบชื่อคำอธิบายแผนภูมิออกทั้งหมด และใช้ theme(legend.position = “none”) เพื่อลบคำอธิบายแผนภูมิออกเมื่อแกน x มีชื่อกลุ่มอยู่แล้ว
เลือกสีที่คุณต้องการได้เลย เปลี่ยนชุดสีเริ่มต้นเป็นชุดสีที่ระบุอย่างชัดเจน เพื่อให้แผนภูมิสอดคล้องกับสไตล์ขององค์กรของคุณ:
scale_fill_manual(values = c("4" = "#0e9cd1", "6" = "coral", "8" = "grey40"))
วิธีสร้างฮิสโตแกรมใน R ด้วยฟังก์ชัน geom_histogram()
ฮิสโตแกรมแสดงให้เห็นว่าตัวแปรต่อเนื่องตัวเดียวมีการกระจายตัวอย่างไร แทนที่จะนับจำนวนหมวดหมู่ ggplot2 จะแบ่งช่วงตัวเลขออกเป็นช่วงย่อยๆ และนับจำนวนข้อมูลที่ตกอยู่ในแต่ละช่วง
library(ggplot2) # Most basic histogram ggplot(mtcars, aes(x = mpg)) + geom_histogram()
R จะแสดงข้อความแนะนำให้คุณเลือกจำนวนถังเก็บข้อมูลที่ดีกว่า เนื่องจากค่าเริ่มต้นที่ 30 ถังนั้นเป็นค่าที่กำหนดขึ้นเอง โดยมีอาร์กิวเมนต์สองตัวที่ควบคุมการตั้งค่านี้:
- ถังขยะจำนวนช่วงที่จะแบ่งช่วงข้อมูลออกเป็นส่วนๆ
- บินกว้าง: ความกว้างของแต่ละช่วง โดยแสดงในหน่วยของตัวแปร ใช้ตัวเลือกนี้เมื่อหน่วยมีความหมายเหมาะสม
# Set the number of bins ggplot(mtcars, aes(x = mpg)) + geom_histogram(bins = 10, fill = "coral", color = "white") + theme_classic() # Or set the width of each bin instead ggplot(mtcars, aes(x = mpg)) + geom_histogram(binwidth = 4, fill = "coral", color = "white") + theme_classic()
การเลือกจำนวนช่วง (Binning) เป็นสิ่งสำคัญที่สุดในการสร้างฮิสโตแกรม หากใช้จำนวนช่วงน้อยเกินไปจะบดบังโครงสร้างที่แท้จริง เช่น ยอดสูงสุดที่สอง ในขณะที่หากใช้จำนวนช่วงมากเกินไปจะทำให้กราฟกลายเป็นสัญญาณรบกวน ควรลองใช้ค่าต่างๆ หลายๆ ค่าก่อนที่จะตัดสินใจเลือกค่าใดค่าหนึ่ง
การเปรียบเทียบกลุ่มต่างๆ กำหนดค่าตัวประกอบเพื่อเติมและกำหนดตำแหน่งเพื่อให้การกระจายยังคงอ่านง่าย:
ggplot(mtcars, aes(x = mpg, fill = factor(cyl))) + geom_histogram(bins = 10, position = "identity", alpha = 0.5) + theme_classic()
เมื่อตั้งค่า position = “identity” และลดค่า alpha ลง ฮิสโตแกรมจะซ้อนทับกัน ทำให้คุณสามารถเปรียบเทียบรูปร่างได้โดยตรง หากต้องการดูแต่ละช่วงข้อมูลเคียงข้างกัน ให้ใช้ position = “dodge”
ความหนาแน่นแทนจำนวนนับ เมื่อกลุ่มมีขนาดแตกต่างกัน ให้กำหนดความหนาแน่นของพล็อตเพื่อให้พื้นที่เทียบเคียงกันได้ และซ้อนทับด้วยเส้นโค้งเรียบ:
ggplot(mtcars, aes(x = mpg)) + geom_histogram(aes(y = after_stat(density)), bins = 10, fill = "coral", alpha = 0.6) + geom_density(color = "steelblue", linewidth = 1) + theme_classic()
แผนภูมิแท่งและฮิสโตแกรมใน R: Code อ้างอิง
แผนภูมิแท่งเหมาะสำหรับแกน x ที่เป็นข้อมูลเชิงหมวดหมู่ โดยที่แกน y เป็นจำนวนนับหรือสถิติสรุป ตารางด้านล่างแสดงคำสั่ง ggplot2 สำหรับแต่ละรูปแบบที่กล่าวถึงข้างต้น:
| วัตถุประสงค์ | Code |
|---|---|
| นับ |
ggplot(df, aes(x = factor(x1))) + geom_bar() |
| นับด้วยสีเติมที่แตกต่างกัน |
ggplot(df, aes(x = factor(x1), fill = factor(x1))) + geom_bar() |
| นับเป็นกลุ่มซ้อนกัน |
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar() |
| นับเป็นกลุ่มเคียงข้างกัน |
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar(position = position_dodge()) |
| นับเป็นกลุ่ม ซ้อนกันเป็น % |
ggplot(df, aes(x = factor(x1), fill = factor(x2))) + geom_bar(position = "fill") |
| ค่าต่างๆ (สถิติสรุป) |
ggplot(df, aes(x = factor(x1), y = x2)) + geom_bar(stat = "identity") |
| ฮิสโตแกรมของตัวแปรต่อเนื่อง |
ggplot(df, aes(x = x1)) + geom_histogram(bins = 30) |














