Adlar Üzerinde Döngü
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 10 / 64.
names(x) üzerinde bir for döngüsü her anahtarı ziyaret eder ve x[[key]] o anahtarın değerini verir:
scores <- c(ada = 91, bo = 78, cy = 85)
for (name in names(scores)) {
cat(name, "scored", scores[[name]], "\n")
}Çıktı:
ada scored 91
bo scored 78
cy scored 85 Girdiler eklendikleri sırayı korur. Alfabetik sıralama için sort(names(x)) üzerinde döngü kurun:
scores <- c(cy = 85, ada = 91, bo = 78)
for (name in sort(names(scores))) {
cat(name, scores[[name]], "\n")
}Çıktı:
ada 91
bo 78
cy 85 Girdi üzerinde döngü kurup bir arama tablosunu güncellemek, her değerin kaç kez göründüğünü sayar. Bir sözcük ilk kez görüldüğünde değer 1 olur, sonrasında 1 artar:
words <- c("red", "blue", "red", "green", "red")
counts <- c()
for (w in words) {
if (w %in% names(counts)) {
counts[w] <- counts[w] + 1
} else {
counts[w] <- 1
}
}
print(counts[["red"]])
print(names(counts))Çıktı:
[1] 3
[1] "red" "blue" "green"Çıktı satırlarını oluşturmak için bunları döngünün içinde bir vektörde toplayın ve sonunda döndürün ya da yazdırın:
scores <- c(ada = 91, bo = 78)
lines <- c()
for (name in names(scores)) {
lines <- c(lines, paste0(name, ": ", scores[[name]]))
}
cat(lines, sep = "\n")Çıktı:
ada: 91
bo: 78Görev
Kolayword_counts(words) işlevini tamamlayın. Her farklı sözcük için alfabetik sırada, word: count biçiminde bir satır döndürün.
Sağlanan kod, sözcükleri boşluklarla ayrılmış tek bir satır olarak okur ve döndürülen her satırı yazdırır.
Kendin dene
word_counts <- function(words) {
# Kodunuzu buraya yazın
character(0)
}
# Sağlanan giriş/çıkış kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(word_counts(strsplit(input[1], " ")[[1]]), 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