Commands and Functions
ในบทนี้เราจะมาเรียนเรื่อง commands และ functions ที่ใช้บ่อยในการเขียนภาษา R กันนะคะ
Commands
command คือ คำสั่งพื้นฐานที่เราใช้ใน R เช่น
+
-
*
/
<-
==
,
$
(บวก ลบ คูณ หาร ใส่ค่า เท่ากับ คำสั่งต่อไป เรียกออกมาจาก)
Command
พวกนี้เราจะใช้บ่อยมาก เพื่อบอก R
ว่าเราต้องการทำอะไร
Functions
ฟังชั่น หรือชุดคำสั่ง คือ คำสั่งที่มี () ต่อท้าย ภายในคำสั่งนี้จะมีสิ่งที่เรียกว่า function หรือ command ซ่อนอยู่ และสามารถเรียกดูได้ด้วยคำสั่ง help()
หรือ ?ตามด้วยชื่อ function` เช่น
sqrt(9)
## [1] 3
help(sqrt)
?sqrt()
help จะปรากฎใน Tab Tools (ซึ่งปกติจะอยู่ด้านขวาล่างของ Rstudio) Functions เหล่านี้ช่วยให้นักวิเคราะห์ไม่จำเป็นต้องเขียนสมการยาก ๆ เช่น square root ด้วยตัวเอง
Functions ที่ใช้ง่ายบ่อยในการวิเคราะห์ข้อมูล
Functions ที่ใช้งานบ่อยในการเรียกดูข้อมูล หาค่าเฉลี่ย หาค่าสัมบูรณ์ต่าง ๆ
#ในการเรียกค่าข้อมูล
View() #spreadsheet ของชุดข้อมูล
head() # 6 บันทัดแรกของข้อมูล
tail() # 6 บันทัดท้ายของข้อมูล
summary() # ดูค่าโดยรวมของชุดข้อมูล
table() #ดูจำนวนข้อมูลในคอลลัมภ์นั้นๆ
length() #ดูจำนวนความยาวของแถวนั้นๆ
#ในการหาค่ามาตรฐานพื้นฐาน
mean() #ค่าเฉลี่ย
median() #ค่ากลาง
sum() #ผลรวม
abs() #ค่าสัมบูรณ์ absolute
round() #เรียกผลลัพธ์ที่ออกมาเป็นค่าจุดทศนิยมกี่ตำแหน่ง
aggregate() #เรียกผลลัพธ์รายกลุ่ม
#ในการสร้างกราฟและอื่น ๆ
rnorm() #สร้างชุดข้อมูลที่มี density เป็นโค้งปกติ
dnorm()
qnorm() #สร้างชุดข้อมูลจาก qualtile
plot() #สร้างกราฟ
#ในการจัดการ levels of measurement ของข้อมูล
factor() #เปลี่ยนตัวแปรนี้เป็นแบบจัดกลุ่ม
numeric() #เปลี่ยนตัวแปรนี้เป็นแบบตัวเลข
data.frame() #เปลี่ยนชุดตัวแปรนี้ให้เป็น dataframe
colnames() #เปลี่ยนชื่อคอลลัมภ์ทั้งหมดในชุดข้อมูล
rownames() #เปลี่ยนชื่อ row ทั้งหมดในชุดข้อมูล * สำคัญสำหรับ data ที่นำมาจาก spss หรือ .csv ที่มีจำนวนแถวไม่เรียงกัน อาจเพราะมีการตัดเคสเกิดขึ้น
is.factor() #ดูว่าข้อมูลเป็น factor หรือยัง
is.numeric() #ดูว่าข้อมูลเป็น numeric หรือยัง
is.na() #ดูว่าชุดข้อมูลมี NA หรือ Missing Data ไหม
which(__, arr.ind = TRUE) #ดูว่าสิ่งที่เราต้องการหาอยู่ในแถวที่เท่าไหร่ คอลลัมภ์ไหน
is.completecase() #ถามว่าทั้งชุดข้อมูลเป็น complete case หรือไม่
labels() #ใส่ชื่อให้กับตัวแปรในชุดข้อมูล
#note คำสั่งชุดนี้จะต่างจากการเปลี่ยนชุดข้อมูลที่มีคำว่า as.___ไม่ค่อยมากนัก แต่ส่วนใหญ่การใช้ as.__ จะเป็นการเปลี่ยนประเภทเพียงอย่างเดียว
as.factor() #เปลี่ยนชุดข้อมูลนี้เป็น factor
as.numeric() #เปลี่ยนชุดข้อมูลนี้เป็น numeric
as.data.frame() #เปลี่ยนชุดข้อมูลนี้เป็น data.frame
ถ้ามีเพิ่มจะรีบมาเขียนให้นะคะ
นอกจากนี้แล้วเรายังสามารถเขียน functions ด้วยตัวเองง่าย ๆ เช่น
aggregate(y ~ x1 + x2, data = data,
FUN = function(x) c(M=mean(x), SD = sd(x), Q = quantile(x, probs = c(0.25, 0.75)), I = IQR(x)))
การเรียก aggregate()
นี้จะให้ผลลัพธ์ตามที่เราเขียนใน FUN
และยังมีการเขียน for loop
หรือ if-else
ที่อาจจะเป็นการเรียนเขียนภาษา R
ขั้นสูงหน่อย แต่ว่าไม่ยากค่ะ ถ้าเข้าใจ logic ใน R program ค่าาา
Happy Coding
Sirinapa~