วิธีการ แปลงปัจจัยให้เป็นตัวเลขใน r (พร้อมตัวอย่าง)


เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแปลงเวกเตอร์ตัวประกอบเป็นเวกเตอร์ตัวเลขใน R:

 numeric_vector <- as. numeric (as. character (factor_vector))

ก่อนอื่นเราต้องแปลงเวกเตอร์ตัวประกอบให้เป็นเวกเตอร์อักขระก่อน จากนั้นจึงแปลงเป็นเวกเตอร์ตัวเลข เพื่อให้แน่ใจว่าเวกเตอร์ตัวเลขมีค่าตัวเลขจริงแทนที่จะเป็นระดับปัจจัย

บทช่วยสอนนี้มีตัวอย่างการใช้งานฟังก์ชันนี้ในทางปฏิบัติหลายตัวอย่าง

ตัวอย่างที่ 1: แปลงเวกเตอร์ปัจจัยเป็นตัวเลข

รหัสต่อไปนี้แสดงวิธีการแปลงเวกเตอร์ตัวประกอบเป็นเวกเตอร์ตัวเลข:

 #define factor vector
factor_vector <- factor(c(1, 5, 7, 8))

#convert factor vector to numeric vector
numeric_vector <- as. numeric (as. character (factor_vector))

#view class
class(numeric_vector)

[1] "digital"

ตัวอย่างที่ 2: แปลงคอลัมน์ปัจจัยเป็นตัวเลข

รหัสต่อไปนี้แสดงวิธีการแปลงคอลัมน์เฉพาะในกรอบข้อมูลปัจจัยเป็นตัวเลข:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
b = c(28, 34, 35, 36))

#convert column 'a' from factor to numeric
df$a <- as. numeric (as. character (df$a))

#view new data frame
df

  ab
1 1 28
2 5 34
3 7 35
4 8 36

#confirm class of numerical vector
class(df$a)

[1] "digital"

ตัวอย่างที่ 3: แปลงคอลัมน์ปัจจัยหลายตัวเป็นตัวเลข

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

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
                 b = factor(c(2, 3, 4, 5)),
                 c = c('A', 'B', 'C', 'D'),
                 d = c(45, 56, 54, 57))

#display classes of each column
sapply(df, class)

       abcd
"factor" "factor" "character" "numeric" 

#identify all factor columns
x <- sapply (df, is. factor )

#convert all factor columns to numeric
df[, x] <- as. data . frame ( apply (df[, x], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "character" "numeric"

รหัสนี้ทำการเปลี่ยนแปลงต่อไปนี้กับคอลัมน์กรอบข้อมูล:

  • คอลัมน์ ก: จากบุรุษไปรษณีย์สู่ดิจิทัล
  • คอลัมน์ b: จากบุรุษไปรษณีย์สู่ดิจิทัล
  • คอลัมน์ c: ไม่เปลี่ยนแปลง (เนื่องจากเป็นอักขระ)
  • คอลัมน์ d: ไม่เปลี่ยนแปลง (เนื่องจากเป็นตัวเลขอยู่แล้ว)

การใช้ฟังก์ชัน Apply() และ sapply() ทำให้เราสามารถแปลงเฉพาะคอลัมน์ตัวประกอบเป็นคอลัมน์ตัวเลข โดยไม่เปลี่ยนแปลงคอลัมน์อื่นๆ ทั้งหมด

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

วิธีแปลงอักขระเป็นปัจจัยใน R
วิธีแปลงปัจจัยเป็นอักขระใน R
วิธีแปลงอักขระเป็นการประทับเวลาใน R

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

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