วิธีการแปลง data frame เป็น matrix ใน r (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อแปลงกรอบข้อมูลเป็นเมทริกซ์ใน R:
วิธีที่ 1: แปลง Dataframe จากคอลัมน์ตัวเลขเป็นเมทริกซ์
mat <- as. matrix (df)
วิธีที่ 2: แปลงเฟรมข้อมูลด้วยอักขระ/ปัจจัยเป็นเมทริกซ์
mat <- data. matrix (df)
โปรดทราบว่าทั้งสองวิธีใช้ฟังก์ชัน R พื้นฐาน ดังนั้นคุณไม่จำเป็นต้องติดตั้งแพ็คเกจภายนอกใดๆ เพื่อใช้วิธีการเหล่านี้
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
วิธีที่ 1: แปลง Dataframe จากคอลัมน์ตัวเลขเป็นเมทริกซ์
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่มีเฉพาะคอลัมน์ตัวเลข:
#create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data frame
df
points assists rebounds
1 99 33 30
2 90 28 28
3 86 31 24
4 88 39 24
5 95 34 28
เราสามารถใช้ฟังก์ชัน as.matrix() เพื่อแปลงกรอบข้อมูลนี้เป็นเมทริกซ์ตัวเลขได้อย่างรวดเร็ว:
#convert data frame to matrix
mat <- as. matrix (df)
#view matrix
mast
points assists rebounds
[1,] 99 33 30
[2,] 90 28 28
[3,] 86 31 24
[4,] 88 39 24
[5,] 95 34 28
#view class of mat
class(mat)
[1] "matrix" "array"
การใช้ฟังก์ชัน class() เรายืนยันว่าวัตถุใหม่นั้นเป็นเมทริกซ์จริงๆ
วิธีที่ 2: แปลงเฟรมข้อมูลด้วยอักขระ/ปัจจัยเป็นเมทริกซ์
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่มีทั้งคอลัมน์อักขระและคอลัมน์ตัวเลข:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34))
#view data frame
df
team points assists
1 A 99 33
2 A 90 28
3 B 86 31
4 B 88 39
5 C 95 34
เราสามารถใช้ฟังก์ชัน data.matrix() เพื่อแปลงกรอบข้อมูลนี้เป็นเมทริกซ์ตัวเลขได้อย่างรวดเร็ว:
#convert data frame to matrix
mat <- data. matrix (df)
#view matrix
mast
team points assists
[1,] 1 99 33
[2,] 1 90 28
[3,] 2 86 31
[4,] 2 88 39
[5,] 3 95 34
#view class of mat
class(mat)
[1] "matrix" "array"
การใช้ฟังก์ชัน class() เรายืนยันว่าวัตถุใหม่นั้นเป็นเมทริกซ์จริงๆ
นอกจากนี้เรายังสามารถพิมพ์ข้อความต่อไปนี้:
?data.matrix
ซึ่งบอกเราว่า:
Description:
Return the matrix obtained by converting all the variables in a
data frame to numeric mode and then binding them together as the
columns of a matrix. Factors and ordered factors are replaced by
their internal codes.
สิ่งนี้อธิบายว่าทำไมชื่อทีม A, A, B, B, C จึงถูกแปลงเป็นค่า 1, 1, 2, 2, 3
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:
วิธีแปลงคอลัมน์ data frame เป็น vector ใน R
วิธีแปลงเมทริกซ์เป็นเวกเตอร์ใน R
วิธีแปลงตารางเป็น data frame ใน R