วิธีแบ่งเวกเตอร์ออกเป็นส่วน ๆ ใน 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

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

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