posit.com ตั้งค่าหน้าจอไปที่ tools → global option → pane layout
เปลี่ยนเป็น console

จะเป็นแบบนี้

ก่อนที่จะกราฟ ต้องรู้
1.มีกี่ตัวแปร
2.ประเภทข้อมูล เป็นตัวเลข หรือ ไม่ใช่ตัวเลข
เรียกใช้ ggplot2 โดยพิมพ์
library(ggplot2)
library(dplyr)
สร้าง chart
ggplot(diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=price))+ #mapping คือการดึงคอลัม price ไปพลอตกราฟแกน x
geom_histogram() #geom คือคำสั่งที่เปลี่ยน คอลัม price ให้เป็น chart หน้าตาแบบไหน
ถ้าเป็นประเภทข้อมูล ไม่ใช่ตัวเลข
ggplot(diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=cut))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_bar()
จะนับตามจำนวนว่าในคอลัม cut มี 5 แบบ และแสดงเป็นรูปด้านล่างขวา


คำสั่ง fill คือ การใส่สีกราฟ , คำสั่ง alpha คือ ปรับความเข้มของสี
ggplot(diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=cut))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_bar(fill="red", alpha=0.55)
แล้วถ้าจะทำให้เป็นหลายสี
#step 1 เอาไปอยู่ในตัวแปล base1
base1 <- ggplot(diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=cut))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
#step 2
base1+geom_bar(mapping=aes(fill=cut),alpha=0.6) #fill=cut คือ ให้สีตัดกัน
ทำกราฟสำหรับ 2 แกนคือ x,y (number x number)
นิยมใช้ scatter plot
ggplot(data = diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=price,y=carat))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_point() #คือ scatter plot

ซึ่งโดยปกติการช้ scatter plot มักมีปัญหาอยู่ คือ ถ้ากรณีมีข้อมูลมากๆ จุดมันจะเยอะดูแน่นเกินไป ซึ่งโดยการทำสถิติไม่จำเป็นต้อง plot ทั้งหมดแต่เป็นการสุ่มตัวอย่างมาก็พอ จากตัวอย่างคือทำการสุ่ม
small_diamonds <- diamonds %>% #สุ่มตัวอย่าง 5000 รายการจากไฟล์ diamonds ไปไว้ใน small_diamonds
sample_n(5000)
ggplot(data = small_diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=price,y=carat))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_point()
แต่ถ้าทำแบบนี้ทุกครั้งที่ Run ข้อมูลจะเปลี่ยนจึงควร set seed เข้าไปด้วย (seed คือ ค่าตั้งต้นที่ใช้ในการสร้างผลลัพธ์สุ่ม ซึ่งช่วยให้ได้ผลเดิมเมื่อใช้ค่าเดิม) จากตัวอย่างเป็น set.seed(40)
set.seed(40) #set ให้เป็นการสุ่มแบบที่ 40 ซึ่ง 40 เนี่ยไม่จำเป็นต้องเป็นเลขนี้สามารถเปลี่ยนได้แต่ทำเพื่อให้ทุกครั้งที่ run กราฟออกมาในรูปแบบเดิม
small_diamonds <- diamonds %>% #สุ่มตัวอย่าง 5000 รายการจากไฟล์ diamonds ไปไว้ใน small_diamonds
sample_n(5000)
ggplot(data = small_diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=price,y=carat))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_point()
แต่ถึงแม้ว่าจะสุ่มเป็น 5000 กลุ่มตัวอย่าง รู้สึกว่ายังค่อนข้างเยอะก็แนะนำเป็นปรับความเข้มสี หรือ เปลี่ยน shape ก็ช่วยให้ดูง่ายขึ้น
set.seed(40)
small_diamonds <- diamonds %>% #สุ่มตัวอย่าง 5000 รายการจากไฟล์ diamonds ไปไว้ใน small_diamonds
sample_n(5000)
ggplot(data = small_diamonds #เหมือนใสดาต้าจากไฟล์ diamonds เข้ามา
mapping = aes(x=price,y=carat))+ #mapping คือการดึงคอลัม cut ไปพลอตกราฟแกน x
geom_point(alpha = 0.5, shape =".") #เปลี่ยนความเข้มสี alpha , เปลี่ยนลักษณะของตัวพลอตกราฟเป็น shape .
รูปด้านซ้ายคือใส่แต่ alpha=0.5 ส่วนรูปด้านขวา คือ ใส่ shape = “.” เพิ่มไปด้วย

