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

Image placeholder
แวะมาทักทายกันได้



เราสามารถเขียน R ผ่าน web browser ได้เลยบน RStudio Cloud สมัคร free account ได้ที่

 https://rstudio.cloud/

สามารถดาวน์โหลด base R และ RStudio Desktop ได้เช่นกันนะครับ ใช้งานฟรี (open source)

Download and Install Software - 01

  1. open google keyword cran R แล้ว download
  2. open google keywork rstudio desktop แล้ว download
  3. setup directory ในการเก็บ source code และ file ที่เอาไว้ใช้เขียน R programming
  4. ใน R studio สร้าง folder ใหม่ขึ้นมาแล้ว เลือก folder นั้นเป็น working directory โดยไปที่ Session → Set Working DIrectory → Choose Directory แล้วกดปุ่ม New Folder → ตั้งชื่อ → กด choose
  5. เราสามารถที่จะปรับ Font และ Font Size เพื่อความสบายตาของการใช้งานได้ ให้ไปที่ Tool → Global Options → Appearance
  6. ถ้าอยากปรับ 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 ได้เลยจากหน้าจอ ซ้ายอย่างเช่น savingincome - 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 ชนิดนี้ที่ใช้งานบ่อยๆ ได้แก่

  1. Vector
  2. Matrix
  3. List
  4. 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

แวะมาทักทายกันได้
donate

Categories: Tutorial Tags: #Data Science , 1546