R - Daftar
Daftar adalah objek R yang berisi elemen dari berbagai jenis seperti - angka, string, vektor, dan daftar lain di dalamnya. Daftar juga bisa berisi matriks atau fungsi sebagai elemennya. Daftar dibuat menggunakanlist() fungsi.
Membuat Daftar
Berikut adalah contoh membuat list yang berisi string, angka, vektor dan nilai logika.
# Create a list containing strings, numbers, vectors and a logical
# values.
list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)
print(list_data)
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
[[1]]
[1] "Red"
[[2]]
[1] "Green"
[[3]]
[1] 21 32 11
[[4]]
[1] TRUE
[[5]]
[1] 51.23
[[6]]
[1] 119.1
Elemen Daftar Penamaan
Elemen daftar dapat diberi nama dan dapat diakses menggunakan nama ini.
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),
list("green",12.3))
# Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")
# Show the list.
print(list_data)
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
$`1st_Quarter`
[1] "Jan" "Feb" "Mar"
$A_Matrix
[,1] [,2] [,3]
[1,] 3 5 -2
[2,] 9 1 8
$A_Inner_list
$A_Inner_list[[1]]
[1] "green"
$A_Inner_list[[2]]
[1] 12.3
Mengakses Elemen Daftar
Elemen daftar dapat diakses dengan indeks elemen dalam daftar. Dalam kasus daftar bernama itu juga dapat diakses menggunakan nama.
Kami terus menggunakan daftar dalam contoh di atas -
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),
list("green",12.3))
# Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")
# Access the first element of the list.
print(list_data[1])
# Access the thrid element. As it is also a list, all its elements will be printed.
print(list_data[3])
# Access the list element using the name of the element.
print(list_data$A_Matrix)
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
$`1st_Quarter`
[1] "Jan" "Feb" "Mar"
$A_Inner_list
$A_Inner_list[[1]]
[1] "green"
$A_Inner_list[[2]]
[1] 12.3
[,1] [,2] [,3]
[1,] 3 5 -2
[2,] 9 1 8
Memanipulasi Elemen Daftar
Kita dapat menambah, menghapus dan memperbarui elemen daftar seperti yang ditunjukkan di bawah ini. Kita dapat menambah dan menghapus elemen hanya di akhir daftar. Tetapi kami dapat memperbarui elemen apa pun.
# Create a list containing a vector, a matrix and a list.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),
list("green",12.3))
# Give names to the elements in the list.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")
# Add element at the end of the list.
list_data[4] <- "New element"
print(list_data[4])
# Remove the last element.
list_data[4] <- NULL
# Print the 4th Element.
print(list_data[4])
# Update the 3rd Element.
list_data[3] <- "updated element"
print(list_data[3])
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
[[1]]
[1] "New element"
$<NA>
NULL
$`A Inner list`
[1] "updated element"
Menggabungkan Daftar
Anda dapat menggabungkan banyak daftar menjadi satu daftar dengan menempatkan semua daftar di dalam satu fungsi list ().
# Create two lists.
list1 <- list(1,2,3)
list2 <- list("Sun","Mon","Tue")
# Merge the two lists.
merged.list <- c(list1,list2)
# Print the merged list.
print(merged.list)
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "Sun"
[[5]]
[1] "Mon"
[[6]]
[1] "Tue"
Mengubah Daftar ke Vektor
Sebuah daftar dapat diubah menjadi vektor sehingga elemen dari vektor dapat digunakan untuk manipulasi lebih lanjut. Semua operasi aritmatika pada vektor dapat diterapkan setelah daftar diubah menjadi vektor. Untuk melakukan konversi ini, kami menggunakanunlist()fungsi. Dibutuhkan daftar sebagai input dan menghasilkan vektor.
# Create lists.
list1 <- list(1:5)
print(list1)
list2 <-list(10:14)
print(list2)
# Convert the lists to vectors.
v1 <- unlist(list1)
v2 <- unlist(list2)
print(v1)
print(v2)
# Now add the vectors
result <- v1+v2
print(result)
Ketika kita menjalankan kode di atas, hasilnya adalah sebagai berikut -
[[1]]
[1] 1 2 3 4 5
[[1]]
[1] 10 11 12 13 14
[1] 1 2 3 4 5
[1] 10 11 12 13 14
[1] 11 13 15 17 19