วิธีการสร้างตัวแปรหมวดหมู่ใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้าง ตัวแปรหมวดหมู่ ใน R:

 #create categorical variable from scratch
cat_variable <- factor(c(' A ', ' B ', ' C ', ' D '))

#create categorical variable (with two possible values) from existing variable
cat_variable <- as. factor ( ifelse (existing_variable < 4, 1, 0))

#create categorical variable (with multiple possible values) from existing variable
cat_variable <- as. factor ( ifelse (existing_variable < 3, ' A ',
                          ifelse (existing_variable < 4, ' B ', 
                          ifelse (existing_variable < 5, ' C ', 
                          ifelse (existing_variable < 6, ' D ',0)))))

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: สร้างตัวแปรหมวดหมู่ตั้งแต่เริ่มต้น

รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรหมวดหมู่ตั้งแต่เริ่มต้น:

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' to data frame
df$type <- factor(c(' A ', ' B ', ' B ', ' C ', ' D '))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 A
2 3 7 3 16 B
3 3 8 6 22 B
4 4 3 10 19 C
5 5 2 12 18 D

ตัวอย่างที่ 2: สร้างตัวแปรหมวดหมู่ (ด้วยสองค่า) จากตัวแปรที่มีอยู่

รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรหมวดหมู่จากตัวแปรที่มีอยู่ในกรอบข้อมูล:

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' using values from 'var4' column
df$type <- as. factor ( ifelse (df$var1 < 4, 1, 0))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 1
2 3 7 3 16 1
3 3 8 6 22 1
4 4 3 10 19 0
5 5 2 12 18 0

ด้วยการใช้คำสั่ง ifelse() เราได้สร้างตัวแปรหมวดหมู่ใหม่ที่เรียกว่า “type” ซึ่งรับค่าต่อไปนี้:

  • 1 ถ้าค่าของคอลัมน์ ‘var1’ น้อยกว่า 4
  • 0 ถ้าค่าในคอลัมน์ ‘var1’ ไม่น้อยกว่า 4

ตัวอย่างที่ 3: สร้างตัวแปรหมวดหมู่ (ที่มีหลายค่า) จากตัวแปรที่มีอยู่

รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรหมวดหมู่ (ที่มีหลายค่า) จากตัวแปรที่มีอยู่ในกรอบข้อมูล:

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' using values from 'var4' column
df$type <- as. factor ( ifelse (df$var1 < 3, ' A ',
                     ifelse (df$var1 < 4, ' B ', 
                     ifelse (df$var1 < 5, ' C ', 
                     ifelse (df$var1 < 6, ' D ', ' E ')))))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 A
2 3 7 3 16 B
3 3 8 6 22 B
4 4 3 10 19 C
5 5 2 12 18 D

ด้วยการใช้คำสั่ง ifelse() เราได้สร้างตัวแปรหมวดหมู่ใหม่ที่เรียกว่า “type” ซึ่งรับค่าต่อไปนี้:

  • A ‘ ถ้าค่าของคอลัมน์ ‘var1’ น้อยกว่า 3
  • มิฉะนั้น ‘ B ‘ ถ้าค่าในคอลัมน์ ‘var1’ น้อยกว่า 4
  • มิฉะนั้น ‘ C ‘ หากค่าในคอลัมน์ ‘var1’ น้อยกว่า 5
  • มิฉะนั้น ‘ D ‘ หากค่าในคอลัมน์ ‘var1’ น้อยกว่า 6
  • ไม่เช่นนั้น ‘ อี

แหล่งข้อมูลเพิ่มเติม

วิธีสร้างตัวแปรจำลองใน R
วิธีแปลงปัจจัยเป็นอักขระใน R
วิธีแปลงอักขระเป็นตัวเลขใน R

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

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