Anahtar Ekleme ve Kaldırma
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 9 / 64.
Bir ada atama, anahtar mevcut olduğunda değerini günceller ve mevcut olmadığında yeni bir giriş ekler:
stock <- c(apples = 12, pears = 3)
stock["pears"] <- 5
stock["plums"] <- 8
print(stock)Çıktı:
apples pears plums
12 5 8 Bir değeri mevcut değerine göre değiştirmek için aynı anahtarı okuyup yazın:
stock <- c(apples = 12, pears = 3)
stock["apples"] <- stock["apples"] - 2
print(stock[["apples"]])Çıktı:
[1] 10Bir arama tablosu c() ile boş başlayabilir ve her seferinde bir anahtar eklenerek büyüyebilir:
ages <- c()
ages["Ada"] <- 36
ages["Linus"] <- 21
print(names(ages))Çıktı:
[1] "Ada" "Linus"Diğer tüm adları koruyarak adlandırılmış bir vektörden bir girdiyi kaldırın:
stock <- c(apples = 12, pears = 3, plums = 8)
stock <- stock[names(stock) != "pears"]
print(names(stock))Çıktı:
[1] "apples" "plums" Bir liste için NULL atamak girdiyi kaldırır:
user <- list(name = "Ada", temp = TRUE)
user[["temp"]] <- NULL
print(names(user))Çıktı:
[1] "name"Görev
Kolayapply_delivery(stock, item, qty) işlevini tamamlayın. item stoğuna qty ekleyin veya henüz stokta yoksa qty miktarıyla item ekleyin. Güncellenmiş stoğu döndürün.
Verilen kod, stoğu name=quantity çiftleri olarak, ardından ürünü ve miktarı okur. Döndürülen stoğun her girdisini, stoğun sırasına göre name: quantity olarak yazdırır.
Kendin dene
apply_delivery <- function(stock, item, qty) {
# Kodunuzu buraya yazın
stock
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
stock <- c()
for (pair in strsplit(input[1], ",")[[1]]) {
kv <- strsplit(pair, "=")[[1]]
stock[kv[1]] <- as.numeric(kv[2])
}
stock <- apply_delivery(stock, input[2], as.numeric(input[3]))
for (name in names(stock)) {
cat(name, ": ", stock[[name]], "\n", sep = "")
}
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