Membuat list
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 71 dari 78.
Vektor sangat berguna, tetapi memiliki satu keterbatasan: semua elemen harus memiliki tipe yang sama. Saat kamu perlu menyimpan berbagai tipe data bersama-sama, R menyediakan list.
list adalah struktur data fleksibel yang dapat menyimpan elemen dengan tipe berbeda, termasuk angka, karakter, nilai logika, bahkan vector atau list lainnya. Kamu membuat list menggunakan fungsi list():
my_list <- list(42, "hello", TRUE)
print(my_list)Output:
[[1]]
[1] 42
[[2]]
[1] "hello"
[[3]]
[1] TRUEPerhatikan bahwa setiap elemen ditampilkan dengan indeks di dalam tanda kurung siku ganda. Ini berbeda dari vector, yang elemennya muncul pada satu baris. List juga dapat berisi vector sebagai elemen:
my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)Output:
[[1]]
[1] 1 2 3
[[2]]
[1] "text"
[[3]]
[1] TRUE FALSEKemampuan untuk mencampur berbagai tipe data ini membuat list ideal untuk merepresentasikan struktur data yang kompleks, seperti profil seseorang yang memuat usia, nama, dan status keanggotaan dalam satu object.
Tantangan
MudahKamu akan menerima tiga baris input:
- Nilai numerik (misalnya,
99.99) - Nilai teks (misalnya,
Premium Member) - Nilai logis dalam bentuk teks:
TRUEatauFALSE(misalnya,TRUE)
Lakukan operasi berikut:
- Baca ketiga input dan ubah menjadi tipe yang sesuai (numerik, karakter, dan logis)
- Buat list yang berisi ketiga nilai ini secara berurutan: nilai numerik terlebih dahulu, lalu teks, kemudian nilai logis
- Buat list kedua yang berisi vektor tiga angka
c(10, 20, 30)sebagai elemen pertamanya dan teks"data"sebagai elemen keduanya - Cetak list pertama
- Cetak list kedua
Misalnya, jika inputnya adalah:
42.5
Active User
FALSEOutputnya seharusnya:
[[1]]
[1] 42.5
[[2]]
[1] "Active User"
[[3]]
[1] FALSE
[[1]]
[1] 10 20 30
[[2]]
[1] "data"Ingat, list dapat menampung elemen dengan tipe berbeda, dan kamu dapat menyertakan vektor sebagai elemen list.
Coba sendiri
# Baca ketiga input
con <- file("stdin", "r")
numeric_input <- suppressWarnings(readLines(con, n = 1))
text_input <- suppressWarnings(readLines(con, n = 1))
logical_input <- suppressWarnings(readLines(con, n = 1))
# TODO: Tulis kodemu di bawah ini
# 1. Ubah input ke tipe data yang sesuai (numeric, character, logical)
# 2. Buat list yang berisi ketiga nilai hasil konversi tersebut secara berurutan
# 3. Buat list kedua dengan c(10, 20, 30) sebagai elemen pertama dan "data" sebagai elemen kedua
# 4. Cetak kedua listPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online