วิธีการ แปลงตัวเลขให้เป็นปัจจัยใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *