2 R function
Function (ฟังก์ชัน) คือ ชุดของคำสั่งที่จะสั่งการให้ R ทำงานตามจุดประสงค์ที่ท่านตั้งไว้ โดยตัวฟังก์ชันนั้น จะประกอบไปด้วย
- ฟังก์ชันที่มีมาพร้อมกับ R ตั้งแต่ต้น (Base R function)
- ฟังก์ชันที่ผู้นิพนธ์ท่านอื่นเขียนไว้ และรวบรวมมาเป็น ชุดของ ฟังก์ชัน เรียกว่า Package
- ฟังก์ชันที่ท่านเขียนขึ้นมาเอง
2.1 Anatomy of function
ฟังก์ชันนั้นประกอบด้วย 4 ส่วน คือ
- Function name (ชื่อฟังก์ชัน)
- Argument (รายละเอียดของฟังก์ชัน)
- Function body (รายละเอียดของฟังก์ชัน)
- Return (ผลลัพธ์ของฟังก์ชัน)
ยกตัวอย่างเช่นฟังก์ชัน หาค่าเฉลี่ยของข้อมูล
find_mean <- function(x, y){
(x + y)/2
}
find_mean(2, 3)
## [1] 2.5
find_mean(3, 5)
## [1] 4
จะเห็นว่า ฟังก์ชันนี้รับข้อมูล 2 ตัวแปร คือ x
และ y
ซึ่งท่านจะต้องแทนค่าที่ท่านต้องการลงไปใน ฟังก์ชัน หลังจากนั้น ฟังก์ชันจะทำการประมวลผลและส่งผลลัพธ์กลับมา
ในผู้เริ่มต้น ส่วนใหญ่ท่านมักจะไม่ใช้ ฟังก์ชันที่เขียนขึ้นมาเองมากนัก เนื่องจาก Basic operation ส่วนใหญ่จะมีผู้นิพนธ์ขึ้นมาให้แล้ว
2.2 Base R function
Base R function คือ ฟังก์ชันที่ติดกับ R
มาตั้งแต่แรก ซึ่งท่านสามารถเรียกใช้ได้เลยโดยไม่ต้องทำการเรียก Package ขึ้นมาก่อน
## [1] 68
## [1] -20
## [1] 2.5
## [1] 3
## [1] 1 2 4 5 6 7 8
ในส่วนของการ Manipulate dataframe นั้น คำสั่งต่างๆ ที่น่ารู้มีดังนี้
df <- data.frame(x = c(3,3,6,7,8,9),y = c(2,5,8,1,2,3),z = c(4,7,9,4,7,8))
df
head(df, 5) # ดู 5 แถวแรก
tail(df , 5) # ดู 5 แถวล่าง
rowMeans(df) # หาค่า mean แต่ละแถว
## [1] 3.000000 5.000000 7.666667 4.000000 5.666667 6.666667
colMeans(df) # หาค่า mean แต่ละ columns
## x y z
## 6.0 3.5 6.5
rownames(df) # ชื่อแถว
## [1] "1" "2" "3" "4" "5" "6"
colnames(df) # ชื่อ column
## [1] "x" "y" "z"
table(iris$Species) # สร้างตารางนับจำนวน
##
## setosa versicolor virginica
## 50 50 50
สามารถดูฟังก์ชันของ Base R ทั้งหมดได้ที่นี่
ถ้าท่านต้องการดูว่าแต่ละฟังก์ชันนั้นใช้งานอย่างไร ให้ใส่เครื่องหมาย ? หน้า ฟังก์ชัน นั้น เช่น ?mean()
?colSums()