Home » R » Struktur Data R : List Pada R Language

Struktur Data R : List Pada R Language

by Hanifah Nurbaeti
by Hanifah Nurbaeti

List

List di R dapat berisi banyak tipe data berbeda di dalamnya. List adalah objek R yang berisi elemen dari berbagai jenis seperti number, string, vektor, dan list lain di dalamnya. List juga bisa berisi matriks atau fungsi sebagai elemennya. List dibuat menggunakan fungsi list(). List juga dapat disebut sebagai kumpulan data yang teratur dan dapat diubah.

Contoh

# List oleh strings
thislist <- list("apple", "banana", "cherry")

#  Cetak list
thislist

Output :

[[1]]
[1] "apple"

[[2]]
[1] "banana"

[[3]]
[1] "cherry"

Membuat List

Berikut adalah contoh untuk membuat list yang berisi string, angka, vektor dan nilai logika :

Contoh

# Buat daftar yang berisi string, angka, vektor dan logika
# values.
list_data <- list("Red", "Mangga", c(21,32,11), TRUE, 51.25, 119.1)
print(list_data)

Output :

[[1]]
[1] "Red"

[[2]]
[1] "Mangga"

[[3]]
[1] 21 32 11

[[4]]
[1] TRUE

[[5]]
[1] 51.25

[[6]]
[1] 119.1

Penamaan Elemen List

Elemen list dapat diberi nama dan dapat diakses menggunakan nama berikut ini:

Contoh

# Buat daftar yang berisi vektor, matriks, dan daftar.
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,4,-9,2), nrow = 2),
   list("green",12.3))

# Beri nama untuk elemen dalam daftar.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")

# Tampilkan list.
print(list_data)

Output :

$`1st_Quarter`
[1] "Jan" "Feb" "Mar"

$A_Matrix
     [,1] [,2] [,3]
[1,]    3    5   -9
[2,]    9    4    2

$A_Inner_list
$A_Inner_list[[1]]
[1] "green"

$A_Inner_list[[2]]
[1] 12.3

Mengakses List

Elemen list dapat diakses dengan indeks elemen dalam list. Jadi kita bisa mengakses item yang ada pad list dengan mengacu pada nomor indeksnya, di dalam tanda kurung. Item pertama memilik intdeks 1, item kedua memiliki indeks 2, dan seterusnya. Untuk beberapa kasus, list dapat diakses menggunakan nama:

Contoh akses list dengan index :

# akses list dengan index
thislist <- list("apple", "mango", "cherry")

thislist[1]

# Buat list yang berisi vektor, matriks, dan list
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),
   list("green",12.3))

# Beri nama untuk elemen dalam daftar.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")

# Akses elemen pertama dari daftar.
print(list_data[1])

# Akses elemen ketiga. Karena ini juga merupakan daftar, semua elemennya akan dicetak.
print(list_data[3])

# Akses elemen daftar menggunakan nama elemen.
print(list_data$A_Matrix)

Output :

[[1]]
[1] "mango"

Contoh akses list dengan nama:

# Buat list yang berisi vektor, matriks, dan list
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),
   list("green",12.3))

# Beri nama untuk elemen dalam daftar.
names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")

# Akses elemen pertama dari daftar.
print(list_data[1])

# Akses elemen ketiga. Karena ini juga merupakan daftar, semua elemennya akan dicetak.
print(list_data[3])

# Akses elemen daftar menggunakan nama elemen.
print(list_data$A_Matrix)

Output :

$`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

Ubah Nilai Item

Untuk mengubah nilai item tertentu, lihat nomor indeks:

Contoh

thislist <- list("apple", "banana", "cherry")
thislist[1] <- "strawberry"

# Cetak the updated list
thislist

Output :

[[1]]
[1] "strawberry"

[[2]]
[1] "banana"

[[3]]
[1] "cherry"

Panjang List

Untuk mengetahui berapa banyak item yang dimiliki list, gunakan fungsi length():

Contoh

thislist <- list("blakcurrant", "banana", "strawberry")

length(thislist)

Output :

[1] 3

Memeriksa item

Untuk mengetahui apakah item tertentu ada dalam list, gunakan operator %in%:

Contoh
Periksa apakah “apel” ada dalam daftar:

thislist <- list("apel", "banana", "cherry")

"apel" %in% thislist

Output :

[1] TRUE

Tambahkan List Item

Untuk menambahkan item ke akhir list, gunakan fungsi append():

Contoh
Tambahkan “orange” ke list :

thislist <- list("apple", "banana", "cherry")

append(thislist, "orange")

Output :

[[1]]
[1] "apple"

[[2]]
[1] "banana"

[[3]]
[1] "cherry"

[[4]]
[1] "orange"

Untuk menambahkan item di sebelah kanan indeks yang ditentukan, tambahkan “after = index number” di fungsi append():

Contoh
Tambahkan “jeruk” ke daftar setelah “pisang” (indeks 2):

thislist <- list("apel", "pisah", "ceri")

append(thislist, "jeruk", after = 2)

Output :

[[1]]
[1] "apel"

[[2]]
[1] "pisang"

[[3]]
[1] "jeruk"

[[4]]
[1] "ceri"

Hapus Item Daftar

Kita juga dapat menghapus item dari list. Contoh berikut membuat list baru yang diperbarui tanpa item “apel”:

Contoh
Hapus “apel” dari list:

thislist <- list("apple", "banana", "cherry")

newlist <- thislist[-1]

# Print the new list
newlist

Output :

[[1]]
[1] "banana"

[[2]]
[1] "cherry"

Rentang Indeks

Kita dapat menentukan rentang indeksdari list yang ada dengan menentukan di mana untuk memulai dan di mana untuk mengakhiri rentang, menggunakan operator :

Contoh
Kembalikan item kedua, ketiga, keempat dan kelima:

thislist <- list("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")

(thislist)[2:5]

Output :

[[1]]
[1] "banana"

[[2]]
[1] "cherry"

[[3]]
[1] "orange"

[[4]]
[1] "kiwi"

Catatan: Pencarian akan dimulai pada indeks ke 2 (disertakan) dan berakhir pada indeks 5 (disertakan). Ingatlah bahwa item pertama memiliki indeks 1.

Looping

Kita dapat melakukan looping pada list item dengan menggunakan for loop:

Contoh
Cetak semua item dalam list satu per satu:

thislist <- list("apple", "banana", "cherry")

for (x in thislist) {
  print(x)
}

Output :

[1] "apple"
[1] "banana"
[1] "cherry"

List Join

Kita dapat menggabungkan beberapa list menjadi satu list dengan menempatkan semua list di dalam satu fungsi list(). Ada beberapa cara untuk menggabungkan, atau melakukan concat dua atau lebih list di R.

Cara paling umum adalah menggunakan fungsi c(), yang menggabungkan dua elemen secara bersama-sama:

Contoh

list1 <- list("a", "b", "c")
list2 <- list(1,2,3)
list3 <- c(list1,list2)

list3

Output :

[[1]]
[1] "a"

[[2]]
[1] "b"

[[3]]
[1] "c"

[[4]]
[1] 1

[[5]]
[1] 2

[[6]]
[1] 3

Mengubah List ke Vektor

List dapat diubah menjadi vektor sehingga elemen vektor dapat digunakan untuk manipulasi lebih lanjut. Semua operasi aritmatika pada vektor dapat diterapkan setelah list diubah menjadi vektor. Untuk melakukan konversi ini, gunakan fungsi unlist(). Dibutuhkan list sebagai input dan menghasilkan vektor.

Contoh :

# Buat list.
list1 <- list(1:5)
print(list1)

list2 <-list(10:14)
print(list2)

# Convert atau ubah lists menjadi vektor.
v1 <- unlist(list1)
v2 <- unlist(list2)

print(v1)
print(v2)

# lakukan penjumlahan vektor
result <- v1+v2
print(result)

Output :

[[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

You may also like