Menu
Coddy logo textTech

İsimlendirilmiş Listeler

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 74 / 78.

Tıpkı adlandırılmış vektörler gibi, listelerin elemanlarına da adlar atanabilir. Bu, kodunuzu daha okunabilir hale getirir ve elemanlara sayısal konumlar yerine anlamlı etiketlerle erişmenizi sağlar.

Listeyi oluştururken isimler atayabilirsiniz:

person <- list(name = "Alice", age = 25, active = TRUE)
print(person)

Çıktı:

$name
[1] "Alice"

$age
[1] 25

$active
[1] TRUE

Çıktının artık [[1]] yerine $name gösterdiğine dikkat edin. Adlandırılmış öğelere erişmek için $ operatörünü kullanın:

person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)

Çıktı:

[1] 25

İsmi bir dize olarak çift köşeli parantezlerle de kullanabilirsiniz; bu, isim bir değişkende saklandığında kullanışlıdır:

person <- list(name = "Alice", age = 25)
print(person[["name"]])

Çıktı:

[1] "Alice"

Adlandırılmış öğeleri değiştirmek aynı şekilde çalışır. Mevcut değerleri değiştirmek veya yenilerini eklemek için $ kullanın:

person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)

Çıktı:

$name
[1] "Alice"

$age
[1] 26

$city
[1] "Paris"
challenge icon

Görev

Kolay

Üç satırlık bir girdi alacaksınız:

  1. Bir kitap başlığı (örneğin, The Great Gatsby)
  2. Bir kitap yazarı (örneğin, F. Scott Fitzgerald)
  3. Yayın yılı (örneğin, 1925)

Aşağıdaki işlemleri gerçekleştirin:

  1. title, author ve year olmak üzere üç öğeden oluşan book adında isimlendirilmiş bir liste oluşturun (yılı sayısal değere dönüştürün)
  2. $ operatörünü kullanarak kitabın başlığını yazdırın
  3. İsmi bir dize olarak kullanarak çift köşeli parantez ile kitabın yılını yazdırın
  4. $ operatörünü kullanarak year değerini 1 yıl sonrasına güncelleyin
  5. TRUE değerine sahip available adında yeni bir öğe ekleyin
  6. Güncellenmiş listenin tamamını yazdırın

Örneğin, girdiler şunlar ise:

1984
George Orwell
1949

Çıktı şöyle olmalıdır:

[1] "1984"
[1] 1949
$title
[1] "1984"

$author
[1] "George Orwell"

$year
[1] 1950

$available
[1] TRUE

Açıklama:

  • book$title başlık değerini yazdırır
  • book[["year"]] orijinal yılı yazdırır
  • Yıl 1949'dan 1950'ye güncellenir
  • TRUE değerine sahip yeni bir available öğesi eklenir

Kopya kağıdı

Listeler, daha iyi okunabilirlik ve anlamlı etiketlerle erişim için elemanlarına atanmış isimlere sahip olabilir.

Oluşturma sırasında isimler atayarak isimlendirilmiş bir liste oluşturun:

person <- list(name = "Alice", age = 25, active = TRUE)

$ operatörünü kullanarak isimlendirilmiş elemanlara erişin:

person$age  # 25 döndürür

İsmi bir dize olarak kullanarak çift köşeli parantezlerle isimlendirilmiş elemanlara erişin:

person[["name"]]  # "Alice" döndürür

Mevcut isimlendirilmiş elemanları değiştirin:

person$age <- 26

Yeni isimlendirilmiş elemanlar ekleyin:

person$city <- "Paris"

Kendin dene

# Girdiyi oku
con <- file("stdin", "r")
title <- suppressWarnings(readLines(con, n = 1))
author <- suppressWarnings(readLines(con, n = 1))
year <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Kodunuzu aşağıya yazın
# 1. title, author ve year (yılı sayısala dönüştürün) öğelerini içeren 'book' adında isimlendirilmiş bir liste oluşturun
# 2. $ operatörünü kullanarak kitabın başlığını yazdırın
# 3. Çift köşeli parantez ve dize olarak adını kullanarak kitabın yılını yazdırın
# 4. $ operatörünü kullanarak yılı 1 yıl sonrasına güncelleyin
# 5. TRUE değerine sahip 'available' adında yeni bir öğe ekleyin
# 6. Güncellenmiş listenin tamamını yazdırın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler