เว็บทำกราฟ หรือ เอาไฟล์จาก google sheet มาสร้างก็ได้

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 = “.” เพิ่มไปด้วย

Posted in data analytic.

Leave a Reply

Your email address will not be published. Required fields are marked *