Adlandırılmış Vektör Aramaları
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 7 / 64.
Adlandırılmış bir vektör, değerleri adlar altında depolar; bu da onu bir arama tablosu hâline getirir: ad anahtardır ve öğe onun değeridir. Yalnızca değeri almak için adı [[ ]] içine yazın.
prices <- c(tea = 4, cake = 7)
print(prices[["cake"]])
print(names(prices))Çıktı:
[1] 7
[1] "tea" "cake"Tekli köşeli parantezler, öğeyi adıyla birlikte döndürür. [[ ]] yalnızca değeri döndürür:
prices <- c(tea = 4, cake = 7)
print(prices["cake"])
print(prices[["cake"]] * 2)Çıktı:
cake
7
[1] 14Ad, bir değişkenden gelebilir; programun girdiden okuduğu bir anahtarı bu şekilde arar:
prices <- c(tea = 4, cake = 7)
item <- "tea"
print(prices[[item]])Çıktı:
[1] 4İsimlerden oluşan bir vektör, yinelenenler de dahil olmak üzere aynı anda birkaç anahtar arar; bu nedenle sum() bir siparişin toplamını tek adımda hesaplar:
prices <- c(tea = 4, cake = 7)
order <- c("tea", "cake", "tea")
print(sum(prices[order]))Çıktı:
[1] 15Eksik bir ad, iki biçimde farklı davranır: prices["milk"] NA döndürürken, prices[["milk"]] subscript out of bounds hatasıyla durur.
Görev
Kolayline_total(item, qty) işlevini tamamlayın. İşlev aşağıdaki menüyü tanımlar. item fiyatı ile qty değerinin çarpımını iki ondalık basamakla biçimlendirilmiş olarak döndürün: tea ve 3, 7.50 sonucunu verir.
menu <- c(tea = 2.5, coffee = 3, cake = 4.25, soup = 6)Girdideki her öğe menüde bulunur. Sağlanan kod, öğeyi ve miktarı okur ve döndürülen değeri yazdırır.
Kendin dene
line_total <- function(item, qty) {
menu <- c(tea = 2.5, coffee = 3, cake = 4.25, soup = 6)
# Kodunuzu buraya yazın
""
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(line_total(input[1], as.numeric(input[2])), sep = "\n")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Dizeleri Derinlemesine
substr() ile Alt Dizelersprintf() ile BiçimlendirmeBölme ve BirleştirmeDizelerde AramaMetin DeğiştirmeTekrar - Kullanıcı Adı Oluşturucu4Matrisler
Matris OluşturmaMatrisleri İndekslemeSatır ve Sütun ÖzetleriMatris AritmetiğiTekrar - Oturma Planı2Anahtar-Değer Aramaları
Adlandırılmış Vektör AramalarıAnahtarları DenetlemeAnahtar Ekleme ve KaldırmaAdlar Üzerinde DöngüTekrar - Hisse Senedi Masası5Proje - Not Defteri
Öğrenci EklemeNotları Kaydetme3Kümeler ve Sayma
Benzersiz DeğerlerKüme İşlemleriÜyelik Testleritable() ile SaymaTekrar - Etkinlik Konukları6Değer Olarak Fonksiyonlar
Anonim FonksiyonlarFonksiyonları GeçirmeFonksiyon DöndürmeDurum Bilgili Closure'larTekrar - İndirim Kuralları9Veri Çerçeveleri
Veri Çerçeveleri OluşturmaSütunlar ve SatırlarSatırları FiltrelemeEkleme ve SıralamaTekrar - Satış Raporu12Proje - Harcama Takipçisi
Harcamaları KaydetmeToplam HarcamaKendi başına pratik yap: Online R derleyicisi