Menu
CoddyTech

İsimlendirilmiş Vektörler

Coddy'nin R Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 62 / 78.

Şimdiye kadar vektör öğelerine sayısal konumları kullanarak eriştiniz. Peki ya bunlara anlamlı adlar kullanarak erişebilseydiniz? Adlandırılmış vektörler, her öğeye etiket atamanıza olanak tanıyarak kodunuzu daha okunabilir ve kendi kendini açıklayan hâle getirir.

Oluşturma sırasında adlar sağlayarak adlandırılmış bir vektör oluşturabilirsiniz:

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

Çıktı:

  alice     bob charlie 
     25      30      28

Öğelere ada göre erişmek için adı köşeli parantezlerin içinde bir dize olarak kullanın:

print(ages["bob"])

Çıktı:

bob 
 30

Ayrıca names() işlevini kullanarak mevcut bir vektöre adlar ekleyebilirsiniz:

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

Çıktı:

math 
  85

Adlandırılmış vektörler, öğrenci notlarını derse göre veya fiyatları ürün adına göre depolamak gibi doğal etiketlere sahip verilerle çalışırken özellikle kullanışlıdır.

challenge icon

Görev

Kolay

İki satırlık girdi alacaksınız:

  1. Virgülle ayrılmış ürün adları listesi (ör. laptop,phone,tablet,headphones)
  2. Karşılık gelen fiyatların virgülle ayrılmış listesi (ör. 999,699,449,199)

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

  1. Fiyatlardan bir sayısal vektör oluşturun
  2. names() işlevini kullanarak ürün adlarını vektöre atayın
  3. Adlandırılmış vektörün tamamını yazdırın
  4. Adını kullanarak erişip ikinci ürünün fiyatını yazdırın
  5. Adını kullanarak erişip son ürünün fiyatını yazdırın

Örneğin, girdiler şöyleyse:

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

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

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

Not: İkinci ve son öğelere sayısal konumla değil, alt simge olarak bir adla (örneğin bir dize olan prices["banana"]) erişin. Adlar ilk girdi satırından gelir; bu nedenle önce doğru adı orada bulun.

Kendin dene

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

# Virgülle ayrılmış girdileri ayrıştır
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Kodunuzu aşağıya yazın
# 1. Fiyatlardan sayısal bir vektör oluştur
# 2. Ürün adlarını names() kullanarak vektöre ata
# 3. Adlandırılmış vektörün tamamını yazdır
# 4. İkinci ürünün fiyatını adına erişerek yazdır
# 5. Son ürünün fiyatını adına erişerek yazdır
quiz iconKendini test et

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

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online R derleyicisi