ปัจจัยใน R: ตัวแปรหมวดหมู่และตัวแปรต่อเนื่อง

ปัจจัยใน R คืออะไร?

ปัจจัยในอาร์ เป็นตัวแปรที่ใช้ในการจัดหมวดหมู่และจัดเก็บข้อมูลโดยมีค่าที่แตกต่างกันในจำนวนจำกัด มันเก็บข้อมูลเป็นเวกเตอร์ของค่าจำนวนเต็ม ปัจจัยใน R เรียกอีกอย่างว่าตัวแปรเด็ดขาดที่เก็บทั้งค่าสตริงและค่าข้อมูลจำนวนเต็มเป็นระดับ ปัจจัยส่วนใหญ่จะใช้ในการสร้างแบบจำลองทางสถิติและการวิเคราะห์ข้อมูลเชิงสำรวจด้วย R

ในชุดข้อมูล เราสามารถแยกแยะตัวแปรได้สองประเภท: เด็ดขาด และ ต่อเนื่องกัน.

  • ในสถิติเชิงพรรณนาสำหรับตัวแปรเชิงหมวดหมู่ใน R ค่าจะถูกจำกัดและโดยปกติจะขึ้นอยู่กับกลุ่มจำกัดเฉพาะ ตัวอย่างเช่น ตัวแปรหมวดหมู่ใน R อาจเป็นประเทศ ปี เพศ อาชีพ
  • อย่างไรก็ตาม ตัวแปรต่อเนื่องสามารถรับค่าใดก็ได้ตั้งแต่จำนวนเต็มไปจนถึงทศนิยม เช่น เราสามารถมีรายได้ ราคาหุ้น เป็นต้น..

ตัวแปรหมวดหมู่

ตัวแปรหมวดหมู่ใน R จะถูกเก็บไว้ในปัจจัย มาตรวจสอบโค้ดด้านล่างเพื่อแปลงตัวแปรอักขระให้เป็นตัวแปรแฟกเตอร์ใน R อัลกอริทึมแมชชีนเลิร์นนิงไม่รองรับอักขระ และวิธีเดียวคือแปลงสตริงเป็นจำนวนเต็ม

วากยสัมพันธ์

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

ข้อโต้แย้ง:

  • x: เวกเตอร์ของข้อมูลเชิงหมวดหมู่ใน R ต้องเป็นสตริงหรือจำนวนเต็ม ไม่ใช่ทศนิยม
  • Levels: เวกเตอร์ของค่าที่เป็นไปได้ที่ถ่ายโดย x อาร์กิวเมนต์นี้เป็นทางเลือก ค่าเริ่มต้นคือรายการเฉพาะของรายการเวกเตอร์ x
  • ป้ายกำกับ: เพิ่มป้ายกำกับให้กับข้อมูลหมวดหมู่ x ใน R ตัวอย่างเช่น 1 สามารถใช้ป้ายกำกับ 'ชาย' ในขณะที่ 0 ป้ายกำกับ 'หญิง'
  • สั่งซื้อ: พิจารณาว่าควรเรียงลำดับระดับตามข้อมูลหมวดหมู่ใน R หรือไม่

ตัวอย่าง:

มาสร้างกรอบข้อมูลปัจจัยกัน

# Create gender vector
gender_vector <- c("Male", "Female", "Female", "Male", "Male")
class(gender_vector)
# Convert gender_vector to a factor
factor_gender_vector <-factor(gender_vector)
class(factor_gender_vector)

Output:

## [1] "character"
## [1] "factor"

สิ่งสำคัญคือต้องแปลงร่าง เชือก ให้เป็นตัวแปรตัวประกอบใน R เมื่อเราทำงาน Machine Learning

ตัวแปรหมวดหมู่ใน R สามารถแบ่งออกเป็น ตัวแปรหมวดหมู่ที่ระบุ และ ตัวแปรเด็ดขาดลำดับ.

ตัวแปรหมวดหมู่ที่กำหนด

ตัวแปรประเภทมีหลายค่าแต่ลำดับไม่สำคัญ เช่น ชายหรือหญิง. ตัวแปรหมวดหมู่ใน R ไม่มีการเรียงลำดับ

# Create a color vector
color_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')
# Convert the vector to factor
factor_color <- factor(color_vector)
factor_color

Output:

## [1] blue   red    green  white  black  yellow
## Levels: black blue green red white yellow

จาก factor_color เราไม่สามารถบอกลำดับใดๆ ได้

ตัวแปรหมวดหมู่ลำดับ

ตัวแปรประเภทลำดับมีการเรียงลำดับตามธรรมชาติ เราสามารถระบุลำดับจากต่ำสุดไปสูงสุดด้วย order = TRUE และสูงสุดไปต่ำสุดด้วย order = FALSE

ตัวอย่าง:

เราสามารถใช้การสรุปเพื่อนับค่าสำหรับตัวแปรแต่ละตัวใน R

# Create Ordinal categorical vector 
day_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')
# Convert `day_vector` to a factor with ordered level
factor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))
# Print the new variable
factor_day

Output:

## [1] evening   morning   afternoon midday    
midnight  evening

ตัวอย่าง:

## Levels: morning < midday < afternoon < evening < midnight
# Append the line to above code
# Count the number of occurence of each level
summary(factor_day)

Output:

##   morning    midday afternoon   evening  midnight
##         1         1         1         2         1

R เรียงลำดับระดับจาก 'เช้า' ถึง 'เที่ยงคืน' ตามที่ระบุในวงเล็บระดับ

ตัวแปรต่อเนื่อง

ตัวแปรคลาสต่อเนื่องเป็นค่าเริ่มต้นใน R ซึ่งจะถูกจัดเก็บเป็นตัวเลขหรือจำนวนเต็ม เราเห็นได้จากชุดข้อมูลด้านล่าง mtcars เป็นชุดข้อมูลในตัว รวบรวมข้อมูลเกี่ยวกับรถยนต์ประเภทต่างๆ เราสามารถนำเข้ามันได้โดยใช้ mtcars และตรวจสอบคลาสของตัวแปร mpg, ไมล์ต่อแกลลอน มันจะส่งกลับค่าตัวเลขซึ่งบ่งชี้ถึงตัวแปรต่อเนื่อง

dataset <- mtcars
class(dataset$mpg)

เอาท์พุต

## [1] "numeric"