บันทึกการใช้งาน RStudio และ R Programming 101 สำหรับนักวิทยาศาสตร์ข้อมูล Data Science - sprint 03

เราสามารถเขียน R ผ่าน web browser ได้เลยบน RStudio Cloud สมัคร free account ได้ที่
สามารถดาวน์โหลด base R และ RStudio Desktop ได้เช่นกันนะครับ ใช้งานฟรี (open source)
Download and Install Software - 01
- open google keyword cran R แล้ว download
- open google keywork rstudio desktop แล้ว download
- setup directory ในการเก็บ source code และ file ที่เอาไว้ใช้เขียน R programming
- ใน R studio สร้าง folder ใหม่ขึ้นมาแล้ว เลือก folder นั้นเป็น working directory โดยไปที่ Session → Set Working DIrectory → Choose Directory แล้วกดปุ่ม New Folder → ตั้งชื่อ → กด choose
- เราสามารถที่จะปรับ Font และ Font Size เพื่อความสบายตาของการใช้งานได้ ให้ไปที่ Tool → Global Options → Appearance
- ถ้าอยากปรับ theme ก็สามารถทำได้ โดยเลือก Editor Theme ตามที่เราต้องการ
7. เราสามารถจัดหน้า layout เพื่อให้ง่ายต่อการเขียนโปรแกรม เราจะจัดหน้าต่าง console ไปทางด้านขวา หน้าต่าง console คือ หน้าต่างสำหรับการแสดงผล Output โดยไปที่ Tool → Global Options → Pane Layout เลือก Drop down ที่หน้าต่างขวาบน เป็น console
8. เราสามารถเช็ค Folder Working Directory ได้โดยใช้คำสั่ง getwd()
เพื่อเช็คว่า Path Folder อยู่ในตำแหน่งที่เราจะสร้างไฟล์ที่จะเขียนโปรแกรมเก็บเอาไว้ที่นี้หรือไม่
9. กด key shortcut สำหรับ clear หน้าจอได้ Ctrl + L
การใช้งาน R เบื้องต้น create and remove variable - 02
- สร้างตัวแปร และ ใส่ value
- income ← 50000
- กด Ctrl + Enter เพื่อสร้างค่า มันจะแสดงที่หน้าจอทางขวา และ หน้าจอ Environment
- เราสามารถเรียกดูค่าในตัวแปรได้ง่ายๆเพียงแค่
พิมพ์ชื่อตัวแปร
ที่หน้าจอ Output - เราสามารถที่จะทำ Operator ได้เลยจากหน้าจอ ซ้ายอย่างเช่น
saving
←income
-expense
เอาincome
ลบด้วยexpense
แล้วไปเก็บเอาไว้ที่saving
มันจะสร้างตัวแปรที่ชื่อsaving
ขึ้นมาแล้วเอามาแสดงเป็นตาราง
ในภาษา R เราสามารถเรียกฟังก์ชันได้เช่นกัน อย่างเช่น ฟังก์ชัน remove ใช้ฟังก์ชันชื่อ rm(ค่าที่ต้องการลบ) ค่าที่ต้องการลบ ใส่ตัวแปร saving เข้าไป เมื่อกด run สังเกตได้ว่าจะมี output ที่หน้าจอทางด้านขวา และ ค่าที่จอซ้ายล่างค่า saving จะหายไปแล้ว
วิธีการ Comment ใช้ Hash
การเปรียบเทียบค่า Compare Values - 03
เราสามารถเขียน comparison operators เพื่อเปรียบเทียบค่าในสมการใน R ได้
- >
- ≥
- <
- ≤
- ==
- ≠
- เราใช้เครื่องหมาย double equal sign
==
เพื่อเทียบสองฝั่งของสมการ ถ้าใช้ single equal sign เช่นx = 5
จะเป็นการประการตัวแปร เราสามารถประกาศตัวแปรใน R ได้ 2 แบบ คือ←
หรือ=
เราสามารถ compare Text ได้ด้วย สังเกตได้ว่า เวลา compare text จะเป็น case sensitive ตัวเล็ก ตัวใหญ่จะต้องเหมือนกัน
Data Type - 04
data type เป็นสิ่งที่สำคัญที่สุดของการเขียนโปรแกรม เพราะในหลายๆภาษาจะค่อนข้างเข้มงวดต่อการตั้งชนิดของตัวแปร ใน ภาษา R ก็เช่นเดียวกัน โดย Common data type ที่ data analyst เราต้องใช้มีอยู่ 5 ประเภท คือ
- numeric ตัวเลข
- character ตัวอักษร
- logical ตรรกะ
- factor (ตัวแปร categorical ทางสถิติ)
- date วันที่
factor ตัวแปรกลุ่ม
ตัวแปรพิเศษที่ใช้ในงานสถิติ
vector เป็น array 1 มิติ
c()
เป็นฟังก์ชัน concat ใช้ในการต่อ string
สมมติว่าเราจะเก็บ “dog”, “cat”, “cat”, “hippo” เอาไว้ในตัวแปร animalsเราใช้คำสั่ง
animals ← c(“dog”, “cat”, “cat”, “hippo”) เมื่อเรา print เราจะได้ “dog”, “cat”, “cat”, “hippo” อยู่ใน vector
ลองเช็ค ชนิดตัวแปร class(animals) มันคือ character
เราสามารถเปลี่ยน animals เป็น factor ได้โดยใช้ factor()
animals ← factor(animals)
class(animals)
ชนิดตัวแปร class(animals) ตอนนี้ มันคือ factor
แล้วสังเกตได้ว่า cat จะมีแค่ หนึ่งชุดที่เรียงตามกลุ่มตัวอักษร ไม่มี double quote
Date / Time
เราใช้ sys.time()
เป็นฟังก์ชัน datetime
Convert Data Type - 05
การเปลี่ยน data type
มาดูการเปลี่ยนค่า numeric เป็น character
เราสามารถเปลี่ยนค่า logical เป็น numeric ได้ด้วยยกตัวอย่างเช่น
Data Structures - VECTOR - 06
Data Structures โครงสร้างของข้อมูล จะมี 4 ชนิดนี้ที่ใช้งานบ่อยๆ ได้แก่
- Vector
- Matrix
- List
- DataFrame
vector เป็นชุดข้อมูลที่เป็นเหมือน Array 1 มิติ
มาลองดูค่า Vector ง่ายๆกันก่อน โดยการแสดงค่าใช้เครื่อง โคลอน 1 : 10 แล้วสั่ง แสดงผลดู
จะเห็นว่ามันแสดงค่า vector ออกมาให้ เป็นเลข 1 ถึง 10
ไม่จำเป็นต้องเป็น 1:10 ก็ได้ อาจจะเป็น 15:25 ก็ได้
เรามาลองดูฟังก์ชัน seq()
บ้างมัน ย่อมาจาก sequence
seq(from = 1, to = 100, by = 5)
มันจะนับเพิ่มขึ้นทีละ 5 จาก 1 ไปจนถึงไม่เกิน 100
ถ้าสมมติว่าเราเจอฟังก์ชันใหม่หรือไม่เคยใช้ ให้ลองใช้ฟังก์ชัน help()
เพื่อดูคู่มือการใช้งาน และ ลองเล่นมัน
เมื่อใช้คำสั่ง help มันจะมีหน้าต่างคู่มือการใช้งานขึ้นมา
วิธีการอ่านคู่มือ
- ชื่อฟังก์ชัน
- คำอธิบายการใช้งาน ดูว่าสามารถนำไปใช้งานอะไรได้บ้าง
- ค่า input argument มีอะไรบ้าง
- ตัวอย่างการใช้งาน ลอง copy ไปลอง run ดู
c function (concat)
เราลองมาดูฟังก์ชัน c กันบ้าง สำหรับการสร้าง vector ขึ้นมาโดยป้อน input เข้าไปในตัวแปร
vector จะเก็บข้อมูลได้แค่ 1 ประเภทเท่านั้น ถ้าเป็น character ก็ต้องเป็น character ทั้งหมด
Data Structures - METRIX - 07
metrix เป็น data structure ที่เหมือนกับ vecter หรือชุดข้อมูลที่เป็นเหมือน Array แต่ว่าเป็น 2 มิติ ก็คือเก็บข้อมูลที่มี row และ column
ในการสร้าง metrix มีอยู่หลายวิธี เช่น ใช้ฟังก์ชัน dim(x) หรือ dimension
dim(x) ← c(5,5)
หรือ ใช้ฟังก์ชัน metrix เลย เช่น
matrix(1:25, ncol=5) ncol เป็นการกำหนดการแสดงผล column
matrix(1:6, ncol=3, nrol=2)
element wise computation
เป็นกระบวนการ operator กับ metrix ซึ่งจะกระทำทุกตัวใน metrix เช่น
สมมติว่า
m1 = metrix(1:6, ncol=3,nrow=2, byrow=true) มันคือ
m1 = 1, 2, 3
4, 5, 6
m1 + 100
m1 = 101, 102, 103
104, 105, 106
Data Structures - LIST - 08
List สามารถเก็บข้อมูลได้หลากหลาย ไม่จำเป็นต้องเป็นประเภทเดียว จะไม่เหมือน Vector และ Metrix
จะเห็นว่าสามารถเก็บข้อมูลได้หลากหลาย ไม่ว่าจะเป็น Text, vecter, metrix หรือ boolean เก็บข้อมูลได้ทุกประเภทและยังสามารถตั้งชื่อได้ด้วย
เรายังสามารถเรียกข้อมูลแต่ละตัวแปรใน list ได้อีกด้วยโดยใช้เครื่อง $ dollar sign เช่น
Data Frame - 09
ความสำคัญในการใช้งาน Data Frame จะทำงานร่วมกับ structure Data เช่น ข้อมูล Excel / Google Sheet และที่เราดึงข้อมูลออกมาจาก Database ด้วย SQL
สมมติว่ามีข้อมูลที่เป็น Vecter ที่เก็บข้อมูลกลุ่มคนกลุ่มหนึ่ง ที่มีขนาดเท่าๆกัน 4 ชุดข้อมูล
คราวนี้เราจะนำ vecter ทั้ง 4 ชุดข้อมูลมาทำเป็น Data Frame โดยใช้ฟังก์ชัน data.frame() เช่น
data.frame(friends, ages, locations, movie_lover)
แล้วลอง run ดูเราจะได้ผลลัพท์ที่มีหน้าตาเหมือนตาราง
เราสามารถที่จะะใช้ฟังก์ชัน View(dataframe) มันจะแสดงเป็นตารางให้ดูง่ายมากขึ้น เราก็จะสามารถนำตารางที่ได้ไปวิเคราะห์ข้อมูลเพิ่มเติม
คราวนี้มาดู การสร้าง dataframe จาก list
SUBSET - 10
subset คือ การดึงข้อมูลออกมาจาก data structure อย่างเช่น vecter, metrix หรือ data frame
เราจะเขียนที่หน้า console output
- การดึงข้อมูลแบบ position เช่น friends[1] จะดึงข้อมูล wan ออกมา
- การดึงข้อมูลแบบ slicing เช่น friends[1:3] จะดึงข้อมูล wan , ink, ann ออกมา หรือ จะใช้ฟังก์ชัน c ทำ vecter แล้วดึงเฉพาะ column ที่เราต้องการ เช่น friends[c(1,3,5)]
การดึงข้อมูลแบบ condition
ในการดึงข้อมูลแบบ condition เราสามารถที่ link ข้อมูลที่อยู่ใน column เดียวกันได้ เช่น ใส่ข้อมูลชื่อเข้าไปในตัวแปร ages แล้วเรียกค่าผ่าน array ที่กำหนดชื่อแทน index
คราวนี้มาดูการ subset dataframe กันบ้าง Run ฟังก์ชัน View(dataframe) ที่ทำไว้แล้วเราจะได้ตารางออกมา
คราวนี้เราจะ subset ผ่านหน้าจอขวา
subset ด้วยเงื่อนไข
การใส่ comma แล้วไม่ใส่ค่าอะไร หมายถึงการดึงข้อมูลทั้งหมดออกมา
คอร์สนี้ดีมากกกก (ไก่ ล้านตัว) ใครอ่านจบ แนะนำว่าให้ไปสมัครเรียน ติดตามได้ที่ link ด้านล่างนี้เลย
Course Online DATA ROCKIE Bootcamp
