Cara mengonversi daftar ke vektor di r (dengan contoh)


Anda dapat menggunakan salah satu metode berikut untuk mengonversi daftar menjadi vektor di R:

 #use unlist() function
new_vector <- unlist(my_list, use. names = FALSE )

#use flatten_*() function from purrr library
new_vector <- purrr::flatten(my_list)

Contoh berikut menunjukkan cara menggunakan masing-masing metode tersebut dalam praktik dengan daftar berikut:

 #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

Contoh 1: Ubah Daftar menjadi Vektor Menggunakan Fungsi unlist()

Kode berikut menunjukkan cara mengonversi daftar menjadi vektor menggunakan fungsi 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 

Perhatikan bahwa Anda dapat menentukan use.names = FALSE untuk menghapus nama dari vektor:

 #convert list to vector
new_vector <- unlist(my_list, use. names = FALSE )

#display vector
new_vector

[1] 1 2 3 4 5 6

Contoh 2: Ubah daftar menjadi vektor menggunakan fungsi flatten_*

Kode berikut menunjukkan cara mengonversi daftar menjadi vektor menggunakan keluarga fungsi flatten_* dari paket purrr :

 library (purrr)

#convert list to vector
new_vector <- flatten_dbl(my_list)

#display vector
new_vector

[1] 1 2 3 4 5 6

Fungsi flatten_dbl() secara khusus mengubah daftar menjadi vektor bertipe ganda.

Perhatikan bahwa kita dapat menggunakan flatten_chr() untuk mengubah daftar karakter menjadi vektor karakter:

 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"

Lihat halaman ini untuk daftar lengkap keluarga fungsi flatten_*.

Catatan: Jika Anda bekerja dengan daftar yang sangat panjang, fungsi flatten_* akan bekerja lebih cepat daripada fungsi R base unlist().

Sumber daya tambahan

Cara mengonversi daftar ke bingkai data di R
Cara mengubah matriks menjadi vektor di R
Bagaimana cara mengubah kolom bingkai data menjadi vektor di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *