2 R function
function (ฟังก์ชัน) คือ ชุดของคำสั่งที่จะสั่งการให้ R ทำงานตามจุดประสงค์ที่เราตั้งไว้ โดยตัว function นั้น จะประกอบไปด้วย
- function ที่มีมาพร้อมกับ R ตั้งแต่ต้น (base R function)
- function ที่ผู้นิพนธ์ท่านอื่นเขียนไว้ และรวบรวมมาเป็น ชุดของ function เรียกว่า package
- function ที่เราเขียนขึ้นมาเอง
2.1 Anatomy of function
function นั้นประกอบด้วย 4 ส่วน คือ 1. Function name (ชื่อฟังก์ชัน) 2. Argument (รายละเอียดของฟังก์ชัน) 3. Function body (รายละเอียดของฟังก์ชัน) 4. Return (ผลลัพธ์ของฟังก์ชัน)
ยกตัวอย่างฟังก์ชันหา ค่าเฉลี่ยของข้อมูล
<- function(x, y) {
find_mean + y)/2
(x
}
find_mean(2, 3)
## [1] 2.5
find_mean(3, 5)
## [1] 4
จะเห็นว่า function นี่รับข้อมูล 2 ตัวแปร คือ x และ y ซึ่งเราจะต้องแทนค่าที่เราต้องการลงไปใน function หลังจากนั้น function จะทำการประมวลผลและส่งผลลัพธ์กลับมา
ในผู้เริ่มต้น ส่วนใหญ่เรามักจะไม่ใช้ function ที่เขียนขึ้นมาเองมากนัก เนื่องจาก basic operation ส่วนใหญ่จะมีผู้นิพนธ์ขึ้นมาให้แล้ว
2.2 Base R function
Base R function คือ function ที่ติดกับ R มาตั้งแต่แรก ซึ่งเราสามารถเรียกใช้ได้เลยโดยไม่ต้องทำการเรียก package ขึ้นมาก่อน
max(c(1, 2, 4, 5, 5, 68)) # find max value
## [1] 68
min(c(1, 4, 5, 6, -20)) # find min value
## [1] -20
mean(c(1, 2, 3, 4)) # find mean
## [1] 2.5
median(c(1, 2, 5, 3, 4)) # find median
## [1] 3
unique(c(1, 1, 1, 1, 2, 2, 4, 5, 5, 6, 7, 8)) # display only unique values
## [1] 1 2 4 5 6 7 8
ในส่วนของการ manipulate dataframe นั้น คำสั่งต่างๆ ที่น่ารู้มีดังนี้
<- data.frame(x = c(3, 3, 6, 7, 8, 9), y = c(2, 5, 8, 1, 2, 3), z = c(4, 7, 9,
df 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"
สามารถดู base R function ทั้งหมดได้ที่ https://stat.ethz.ch/R-manual/R-devel/library/base/html/00Index.html
ถ้าเราต้องการดูว่า function นั้นใช้งานอย่างไร ให้ใส่เครื่องหมาย ? หน้า function นั้น