วิธีแบ่งเวกเตอร์ออกเป็นส่วน ๆ ใน r
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแยกเวกเตอร์ออกเป็นส่วนๆ ใน R:
chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE ))
ตัวอย่างนี้แบ่งเวกเตอร์ที่เรียกว่า my_vector ออกเป็น 4 ส่วนที่มีขนาดเท่ากัน
หากต้องการแบ่งเวกเตอร์ออกเป็นจำนวนต่างๆ เพียงแทนที่ 4 ด้วยค่าที่ต่างกัน
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: การแยกเวกเตอร์ออกเป็นส่วน ๆ ใน R
สมมติว่าเรามีเวกเตอร์ต่อไปนี้ใน R ซึ่งมีองค์ประกอบทั้งหมด 12 องค์ประกอบ:
#createvector my_vector <- c(2, 2, 4, 7, 6, 8, 9, 8, 8, 12, 5, 4) #view length of vector length(my_vector) [1] 12
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแบ่งเวกเตอร์ออกเป็นสี่ส่วน:
#split vector into four chunks chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 4 $`2` [1] 7 6 8 $`3` [1] 9 8 8 $`4` [1] 12 5 4
จากผลลัพธ์เราจะเห็นได้ว่า:
- ส่วนแรกประกอบด้วยค่า 2, 2, 4
- ชิ้นที่สองประกอบด้วยค่า 7, 6, 8
- ชิ้นที่สามประกอบด้วยค่า 9, 8, 8
- ชิ้นที่ 4 มีค่า 12, 5, 4
โปรดทราบว่าเรายังสามารถใช้วงเล็บเหลี่ยมเพื่อนำทางไปยังส่วนเฉพาะได้:
#access second chunk only
chunks[2]
$`2`
[1] 7 6 8
หากเราเปลี่ยนค่าในฟังก์ชัน split() เราสามารถแบ่งเวกเตอร์ออกเป็นจำนวนส่วนต่างๆ ได้
ตัวอย่างเช่น เราสามารถแบ่งเวกเตอร์ออกเป็นหกส่วน:
#split vector into six chunks chunks <- split(my_vector, cut(seq_along(my_vector), 6 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 $`2` [1] 4 7 $`3` [1] 6 8 $`4` [1] 9 $`5` [1] 8 8 $`6` [1] 12 5
โปรดทราบว่าขณะนี้มีหกเพลงและแต่ละเพลงประกอบด้วยสององค์ประกอบ
หมายเหตุ : หากเวกเตอร์ของคุณไม่มีองค์ประกอบเป็นจำนวนคู่ วิธีนี้จะแบ่งเวกเตอร์ออกเป็นกลุ่มๆ ให้มีขนาดเท่ากันมากที่สุดเสมอ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีกรองเวกเตอร์ใน R
วิธีลบค่า NA ออกจากเวกเตอร์ใน R
วิธีลบองค์ประกอบเฉพาะออกจากเวกเตอร์ใน R