ตอบ: วิธีใช้ cbind กับเวกเตอร์ที่มีความยาวต่างกัน
วิธีที่ง่ายที่สุดในการใช้ cbind ใน R กับเวกเตอร์ที่มีความยาวต่างกันคือการตั้งค่าเวกเตอร์ให้มีความยาวเท่ากันโดยใช้ฟังก์ชัน length()
ตัวอย่างต่อไปนี้แสดงวิธีการทำเช่นนี้
ตัวอย่าง: การใช้ cbind กับเวกเตอร์ที่มีความยาวต่างกันใน R
สมมติว่าเราใช้ cbind เพื่อผูกเวกเตอร์สองตัวที่มีความยาวต่างกันเข้าด้วยกันใน R:
#define two vectors vec1 <- c(3, 4, 5) vec2 <- c(1, 6, 4, 4, 7, 6, 9, 8, 7) #cbind the two vectors together cbind(vec1, vec2) vec1 vec2 [1,] 3 1 [2,] 4 6 [3,] 5 4 [4,] 3 4 [5,] 4 7 [6,] 5 6 [7,] 3 9 [8,] 4 8 [9,] 5 7
ฟังก์ชัน cbind ทำงานได้กับเวกเตอร์ทั้งสอง แต่โปรดทราบว่าค่าของเวกเตอร์แรกจะทำซ้ำซ้ำไปซ้ำมา
สิ่งนี้เรียกว่า “การรีไซเคิล” ใน R.
ในการเติมค่าที่หายไปสำหรับเวกเตอร์ที่สั้นที่สุดด้วยค่า NA คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
#define two vectors vec1 <- c(3, 4, 5) vec2 <- c(1, 6, 4, 4, 7, 6, 9, 8, 7) #calculate max length of vectors max_length <- max(length(vec1), length(vec2)) #set length of each vector equal to max length length(vec1) <- max_length length(vec2) <- max_length #cbind the two vectors together cbind(vec1, vec2) vec1 vec2 [1,] 3 1 [2,] 4 6 [3,] 5 4 [4,] NA 4 [5,] NA 7 [6,] NA 6 [7,] NA 9 [8,] NA 8 [9,] NA 7
โปรดทราบว่าตอนนี้ค่าที่หายไปสำหรับเวกเตอร์ที่สั้นที่สุดจะถูกเติมด้วยค่า NA
หมายเหตุ : ในตัวอย่างนี้ เราใช้ cbind กับเวกเตอร์สองตัว แต่คุณสามารถใช้ไวยากรณ์ที่คล้ายกับการใช้ cbind กับเวกเตอร์มากกว่าสองตัวได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีใช้ cbind ใน R (พร้อมตัวอย่าง)
วิธีใช้ rbind ใน R (พร้อมตัวอย่าง)
วิธีเปลี่ยนชื่อคอลัมน์เมื่อใช้ cbind ใน R