การสร้างเมทริกซ์ด้วย matrix()
สร้างเมทริกซ์โดยระบุ data, nrow, ncol และ byrow
การสร้างเมทริกซ์ด้วย matrix() เป็นบทเรียน R Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน R Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส R Academy มีบทเรียนทั้งหมด 4 บทเรียน
matrix ใน R คืออะไร
matrix ใน R เป็นโครงสร้างข้อมูลสองมิติที่องค์ประกอบทั้งหมดต้องเป็นชนิดเดียวกัน ลองนึกภาพว่าเป็นตารางที่มีแถวและคอลัมน์ matrix มีความสำคัญต่อพีชคณิตเชิงเส้น การประมวลผลภาพ และการคำนวณทางสถิติ
# A simple 2x3 matrix
m <- matrix(1:6, nrow = 2, ncol = 3)
cat('A 2x3 matrix:
')
print(m)
cat('Dimensions:', dim(m), '
') # rows colsmatrix(data, nrow, ncol)
ฟังก์ชัน matrix() รับเวกเตอร์ข้อมูลแล้วจัดเรียงเป็นแถวและคอลัมน์ โดยค่าเริ่มต้น R จะเติมข้อมูลลงใน matrix ทีละคอลัมน์ (ลำดับแบบคอลัมน์เป็นหลัก)
# Filled column by column (default)
m_col <- matrix(1:12, nrow = 3, ncol = 4)
cat('Column-filled 3x4 matrix:
')
print(m_col)
cat('Note: 1,2,3 fill the first COLUMN, not the first row
')byrow = TRUE สำหรับการเติมข้อมูลทีละแถว
การกำหนด byrow = TRUE จะเติมข้อมูลลงใน matrix ทีละแถว วิธีนี้มักเข้าใจง่ายกว่าเมื่อคุณคิดถึงข้อมูลในรูปแบบแถว เช่น ตารางสเปรดชีต
# Filled row by row
m_row <- matrix(1:12, nrow = 3, ncol = 4, byrow = TRUE)
cat('Row-filled 3x4 matrix:
')
print(m_row)
cat('Note: 1,2,3,4 fill the first ROW
')
# Verify byrow
m_check <- matrix(c(1,2,3,4,5,6), nrow = 2, byrow = TRUE)
print(m_check)matrix จากเวกเตอร์ข้อมูล
คุณสามารถสร้าง matrix ที่มีความหมายได้โดยส่งเวกเตอร์ข้อมูลจริงเข้าไป R จะวนใช้เวกเตอร์ซ้ำหากเวกเตอร์สั้นกว่า nrow * ncol แต่แนวทางที่ดีคือควรระบุองค์ประกอบให้มีจำนวนพอดี
# Exam scores: 3 students, 4 subjects
scores_data <- c(88, 92, 75, 81, # Student 1
79, 85, 90, 73, # Student 2
95, 78, 82, 88) # Student 3
exam_matrix <- matrix(scores_data, nrow = 3, ncol = 4, byrow = TRUE)
rownames(exam_matrix) <- c('Alice', 'Bob', 'Carol')
colnames(exam_matrix) <- c('Math', 'Science', 'English', 'History')
print(exam_matrix)dim() — การตรวจสอบมิติ
dim(m) คืนเวกเตอร์ตัวเลขที่มีความยาว 2 ได้แก่ จำนวนแถวและจำนวนคอลัมน์ตามลำดับ นอกจากนี้ยังใช้ nrow(m) และ ncol(m) เพื่อดูแต่ละมิติแยกกันได้
m <- matrix(1:20, nrow = 4, ncol = 5)
cat('dim(m):', dim(m), '
') # 4 5
cat('nrow(m):', nrow(m), '
') # 4
cat('ncol(m):', ncol(m), '
') # 5
cat('Total elements:', length(m), '
') # 20is.matrix() — การตรวจสอบชนิด
is.matrix(x) คืนค่า TRUE หาก x เป็น matrix วิธีนี้มีประโยชน์สำหรับตรวจสอบอินพุตของฟังก์ชัน โปรดทราบว่า matrix เป็นอาร์เรย์ด้วย (is.array() ก็คืนค่า TRUE เช่นกัน)
m <- matrix(1:4, nrow = 2)
v <- c(1, 2, 3, 4)
cat('is.matrix(m):', is.matrix(m), '
') # TRUE
cat('is.matrix(v):', is.matrix(v), '
') # FALSE
cat('is.array(m): ', is.array(m), '
') # TRUE (matrix IS an array)
cat('class(m): ', class(m), '
')เมทริกซ์ศูนย์และเมทริกซ์เอกลักษณ์
คุณสามารถสร้าง matrix พิเศษได้โดยวนใช้ค่าเดียวซ้ำ matrix(0, n, n) จะสร้างเมทริกซ์ศูนย์ ส่วน diag(n) จะสร้างเมทริกซ์เอกลักษณ์ขนาด n x n (มีค่า 1 บนเส้นทแยงมุม และ 0 ในตำแหน่งอื่น)
# Zero matrix 3x3
zero_mat <- matrix(0, nrow = 3, ncol = 3)
cat('Zero matrix:
')
print(zero_mat)
# Identity matrix 3x3
identity_mat <- diag(3)
cat('Identity matrix:
')
print(identity_mat)matrix จากค่าที่วนซ้ำ
เมื่อเวกเตอร์ข้อมูลสั้นกว่า nrow * ncol R จะวนใช้เวกเตอร์ซ้ำ (เริ่มซ้ำจากต้นเวกเตอร์) R จะแสดงคำเตือนหากความยาวของเวกเตอร์หารขนาดของ matrix ไม่ลงตัว
# Recycle a 2-element vector into a 4x4 matrix
alternate <- matrix(c(0, 1), nrow = 4, ncol = 4)
cat('Recycled 0,1 into 4x4:
')
print(alternate)
# Checkerboard effect: fills column by columnการระบุเพียง nrow หรือ ncol
คุณจำเป็นต้องระบุเพียง nrow หรือ ncol อย่างใดอย่างหนึ่งเท่านั้น โดย R จะคำนวณอีกค่าหนึ่งโดยอัตโนมัติตามความยาวของข้อมูล หากข้อมูลหารลงตัวไม่ได้ R จะวนใช้ข้อมูลซ้ำและแสดงคำเตือน
# Only specify nrow, R infers ncol
m1 <- matrix(1:12, nrow = 3)
cat('nrow=3 only, inferred ncol =', ncol(m1), '
')
print(m1)
# Only specify ncol, R infers nrow
m2 <- matrix(1:12, ncol = 4)
cat('ncol=4 only, inferred nrow =', nrow(m2), '
')matrix อักขระ
matrix ไม่ได้จำกัดเฉพาะตัวเลข คุณสามารถสร้าง matrix อักขระสำหรับข้อมูลเชิงกลุ่ม กระดานเกม หรือตารางค้นหาได้ อย่างไรก็ตาม องค์ประกอบทั้งหมดก็ยังต้องเป็นชนิดเดียวกัน
# Tic-tac-toe board
board <- matrix(c('X', 'O', 'X',
'O', 'X', 'O',
'O', 'X', 'O'),
nrow = 3, ncol = 3, byrow = TRUE)
cat('Tic-Tac-Toe board:
')
print(board)
cat('Type:', class(board), '
')สรุปการสร้าง matrix
ต่อไปนี้คือสรุปวิธีสร้าง matrix ใน R:
matrix(data, nrow, ncol)— การสร้างพื้นฐาน (เติมข้อมูลทีละคอลัมน์โดยค่าเริ่มต้น)matrix(data, nrow, ncol, byrow=TRUE)— เติมข้อมูลทีละแถวmatrix(0, n, m)— เมทริกซ์ศูนย์diag(n)— เมทริกซ์เอกลักษณ์dim(m),nrow(m),ncol(m)— ตรวจสอบมิติis.matrix(m)— ตรวจสอบชนิด
# Quick creation reference
cat('3x2 column-fill:
'); print(matrix(1:6, 3, 2))
cat('3x2 row-fill:
'); print(matrix(1:6, 3, 2, byrow=TRUE))
cat('2x2 zeros:
'); print(matrix(0, 2, 2))
cat('3x3 identity:
'); print(diag(3))ตรวจสอบความเข้าใจอย่างรวดเร็ว
โดยค่าเริ่มต้น (เมื่อไม่ใช้ byrow = TRUE) ฟังก์ชัน matrix() จะเติมสมาชิกตามลำดับใด
ทบทวน: การสร้างเมทริกซ์
ยอดเยี่ยม! ประเด็นสำคัญจากบทเรียนนี้มีดังนี้:
matrix(data, nrow, ncol)สร้างเมทริกซ์ โดยค่าเริ่มต้นจะเติมข้อมูลทีละคอลัมน์- ใช้
byrow = TRUEเพื่อเติมข้อมูลทีละแถว - คุณจำเป็นต้องระบุเพียง
nrowหรือncolอย่างใดอย่างหนึ่งเท่านั้น โดย R จะอนุมานอีกค่าหนึ่งให้ dim(m)คืนค่าc(rows, cols)ส่วนnrow()และncol()ใช้ดูจำนวนแต่ละรายการแยกกันis.matrix()ใช้ตรวจสอบว่าวัตถุเป็นเมทริกซ์หรือไม่matrix(0, n, n)สร้างเมทริกซ์ศูนย์ ส่วนdiag(n)สร้างเมทริกซ์เอกลักษณ์
# Full workflow: create, inspect, verify
m <- matrix(seq(2, 24, by = 2), nrow = 4, ncol = 3, byrow = TRUE)
cat('Even numbers matrix:
')
print(m)
cat('Rows:', nrow(m), '| Cols:', ncol(m), '| Elements:', length(m), '
')คำถามที่พบบ่อย
บทเรียน “การสร้างเมทริกซ์ด้วย matrix()” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างเมทริกซ์ด้วย matrix()” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส R Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส R Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างเมทริกซ์ด้วย matrix()”
สร้างเมทริกซ์โดยระบุ data, nrow, ncol และ byrow คุณปฏิบัติ R Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน R Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน R Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างเมทริกซ์ด้วย matrix()” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน R Academy นี้ได้ไหม
ได้ บทเรียน R Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างเมทริกซ์ด้วย matrix()
- การทำดัชนีและเลือกข้อมูลย่อยในเมทริกซ์
- เลขคณิตและการดำเนินการกับเมทริกซ์
- การทรานสโพสและปรับรูปร่างเมทริกซ์