Menu
CoddyTech

Vektor Bernama

Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 62 dari 78.

Sejauh ini, kamu telah mengakses elemen vector menggunakan posisi numerik. Namun, bagaimana jika kamu bisa mengaksesnya dengan nama yang bermakna? Vector bernama memungkinkan kamu menetapkan label pada setiap elemen, sehingga kodemu lebih mudah dibaca dan menjelaskan dirinya sendiri.

Kamu bisa membuat vector bernama dengan memberikan nama saat membuatnya:

ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)

Output:

  alice     bob charlie 
     25      30      28

Untuk mengakses elemen berdasarkan nama, gunakan nama sebagai string di dalam tanda kurung siku:

print(ages["bob"])

Output:

bob 
 30

Kamu juga bisa menambahkan nama ke vector yang sudah ada menggunakan fungsi names():

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])

Output:

math 
  85

Vektor bernama sangat berguna saat bekerja dengan data yang memiliki label alami, seperti menyimpan nilai siswa berdasarkan mata pelajaran atau harga berdasarkan nama produk.

challenge icon

Tantangan

Mudah

Kamu akan menerima dua baris input:

  1. Daftar nama produk yang dipisahkan koma (misalnya, laptop,phone,tablet,headphones)
  2. Daftar harga yang sesuai dan dipisahkan koma (misalnya, 999,699,449,199)

Lakukan operasi berikut:

  1. Buat vektor numerik dari harga
  2. Berikan nama produk ke vektor menggunakan fungsi names()
  3. Cetak seluruh vektor bernama
  4. Cetak harga produk kedua dengan mengaksesnya menggunakan namanya
  5. Cetak harga produk terakhir dengan mengaksesnya menggunakan namanya

Misalnya, jika inputnya adalah:

apple,banana,orange,grape
2,1,3,4

Outputnya harus:

apple banana orange  grape 
    2      1      3      4 
banana 
     1 
grape 
    4

Catatan: Akses elemen kedua dan terakhir dengan nama sebagai subskrip (string, misalnya prices["banana"]), bukan dengan posisi numerik. Nama-nama tersebut berasal dari baris input pertama, jadi cari nama yang tepat di sana terlebih dahulu.

Coba sendiri

# Baca input
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Uraikan input yang dipisahkan koma
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Tulis kodemu di bawah ini
# 1. Buat vektor numerik dari harga-harga tersebut
# 2. Beri nama produk pada vektor menggunakan names()
# 3. Cetak seluruh vektor bernama
# 4. Cetak harga produk kedua dengan mengaksesnya menggunakan namanya
# 5. Cetak harga produk terakhir dengan mengaksesnya menggunakan namanya
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online