วิธีการ แปลงตัวเลขให้เป็นปัจจัยใน r (พร้อมตัวอย่าง)
มีสองวิธีที่คุณสามารถใช้แปลงตัวแปรตัวเลขเป็นตัวแปรแฟคทอเรียลใน R:
วิธีที่ 1: ใช้ as.factor()
df$factor_variable <- as. factor (df$numeric_variable)
ซึ่งจะแปลงตัวแปรตัวเลขให้เป็นตัวแปรตัวประกอบโดยมีจำนวนระดับเท่ากับจำนวนค่าที่ไม่ซ้ำในตัวแปรตัวเลขดั้งเดิม
วิธีที่ 2: ใช้การตัด ()
df$factor_variable <- cut(df$numeric_variable, 3 , labels=c(' lab1 ', ' lab2 ', ' lab3 '))
ตัวอย่างนี้จะแปลงตัวแปรตัวเลขเป็นตัวแปรแฟคทอเรียลโดย “ตัด” ตัวแปรตัวเลขออกเป็น 3 ค่าโดยเว้นระยะเท่ากัน
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
points=c(12, 15, 22, 29, 35, 24, 11, 24))
#view data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: num 12 15 22 29 35 24 11 24
ตัวอย่างที่ 1: แปลงตัวเลขเป็นตัวประกอบโดยใช้ as.factor()
รหัสต่อไปนี้แสดงวิธีการใช้ as.factor() เพื่อแปลงคอลัมน์ จุด จากตัวเลขเป็นตัวประกอบ:
#convert points column from numeric to factor
df$points <- as. factor (df$points)
#view updated data frame
df
team points
1 to 12
2 to 15
3 B 22
4 B 29
5 C 35
6 C 24
7 C 11
8 D 24
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 7 levels "11","12","15",..: 2 3 4 6 7 5 1 5
การใช้ฟังก์ชัน str() เพื่อแสดงภาพโครงสร้างของกรอบข้อมูล เราจะเห็นว่าตอนนี้คอลัมน์ จุด เป็นปัจจัยที่มี 7 ระดับที่แตกต่างกันซึ่งแสดงถึงค่าตัวเลขที่ไม่ซ้ำกัน 7 ค่าในคอลัมน์
ตัวอย่างที่ 2: แปลงตัวเลขให้เป็นตัวประกอบโดยใช้ cut()
รหัสต่อไปนี้แสดงวิธีการใช้ cut() เพื่อแปลงคอลัมน์ จุด จากตัวแปรตัวเลขไปเป็นตัวแปรตัวประกอบ 3 ระดับ:
#convert points column from numeric to factor with three levels
df$points <- cut(df$points, 3 , labels=c(' OK ', ' Good ', ' Great '))
#view updated data frame
df
team points
1 A OK
2 A OK
3 B Good
4 B Great
5 C Great
6 C Good
7 C OK
8 D Good
#view updated structure of data frame
str(df)
'data.frame': 8 obs. of 2 variables:
$ team: chr "A" "A" "B" "B" ...
$ points: Factor w/ 3 levels "OK","Good","Great": 1 1 2 3 3 2 1 2
จากผลลัพธ์เราจะเห็นว่าตัวแปร จุด ได้ถูกแปลงจากตัวแปรตัวเลขเป็นตัวแปรตัวประกอบแล้ว 3 ระดับ โดยมีป้ายกำกับดังนี้
- “เอาล่ะ”
- “ดี”
- “ยอดเยี่ยม”
โปรดทราบว่าเราเลือกใช้สามระดับในตัวอย่างนี้ แต่คุณสามารถตัดตัวแปรตัวเลขออกเป็นหลายระดับได้ตามที่คุณต้องการโดยแทนที่ 3 ในฟังก์ชัน cut() ด้วยค่าอื่น
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีแปลงตัวเลขเป็นอักขระใน R
วิธีแปลงปัจจัยเป็นตัวเลขใน R
วิธีแปลงปัจจัยเป็นอักขระใน R