วิธีแปลงรายการเป็นเวกเตอร์ใน r (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีใดๆ ต่อไปนี้เพื่อแปลงรายการเป็นเวกเตอร์ใน R:
#use unlist() function new_vector <- unlist(my_list, use. names = FALSE ) #use flatten_*() function from purrr library new_vector <- purrr::flatten(my_list)
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติตามรายการต่อไปนี้:
#create list my_list <- list(A = c(1, 2, 3), B = c(4, 5), C = 6) #display list my_list $A [1] 1 2 3 $B [1] 4 5 $C [1] 6
ตัวอย่างที่ 1: แปลงรายการเป็นเวกเตอร์โดยใช้ฟังก์ชัน unlist()
รหัสต่อไปนี้แสดงวิธีการแปลงรายการเป็นเวกเตอร์โดยใช้ฟังก์ชัน unlist()
#convert list to vector new_vector <- unlist(my_list) #display vector new_vector A1 A2 A3 B1 B2 C 1 2 3 4 5 6
โปรดทราบว่าคุณสามารถระบุ use.names = FALSE เพื่อลบชื่อออกจากเวกเตอร์:
#convert list to vector new_vector <- unlist(my_list, use. names = FALSE ) #display vector new_vector [1] 1 2 3 4 5 6
ตัวอย่างที่ 2: แปลงรายการเป็นเวกเตอร์โดยใช้ฟังก์ชัน flatten_*
รหัสต่อไปนี้แสดงวิธีการแปลงรายการเป็นเวกเตอร์โดยใช้ฟังก์ชันตระกูล flatten_* จากแพ็คเกจ purrr :
library (purrr) #convert list to vector new_vector <- flatten_dbl(my_list) #display vector new_vector [1] 1 2 3 4 5 6
ฟังก์ชัน flatten_dbl() จะแปลงรายการให้เป็นเวกเตอร์ประเภท double โดยเฉพาะ
โปรดทราบว่าเราสามารถใช้ flatten_chr() เพื่อแปลงรายการอักขระให้เป็นเวกเตอร์อักขระ:
library (purrr) #define character list my_char_list <- list(A = c('a', 'b', 'c'), B = c('d', 'e'), C = 'f') #convert character list to character vector new_char_vector <- flatten_chr(my_char_list) #display vector new_char_vector [1] "a" "b" "c" "d" "e" "f"
ดูรายการฟังก์ชันตระกูล flatten_* ทั้งหมดได้ ในหน้านี้
หมายเหตุ: หากคุณกำลังทำงานกับรายการที่ยาวมาก ฟังก์ชัน flatten_* จะทำงานเร็วกว่าฟังก์ชัน unlist() ฐาน R
แหล่งข้อมูลเพิ่มเติม
วิธีแปลงรายการเป็น data frame ใน R
วิธีแปลงเมทริกซ์เป็นเวกเตอร์ใน R
วิธีแปลงคอลัมน์ data frame เป็น vector ใน R