Menelusuri Nama
Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 10 dari 64.
for loop pada names(x) mengunjungi setiap kunci, dan x[[key]] memberikan nilai untuk kunci tersebut:
scores <- c(ada = 91, bo = 78, cy = 85)
for (name in names(scores)) {
cat(name, "scored", scores[[name]], "\n")
}Output:
ada scored 91
bo scored 78
cy scored 85 Entri mempertahankan urutan saat ditambahkan. Lakukan perulangan pada sort(names(x)) untuk mengurutkannya secara alfabetis:
scores <- c(cy = 85, ada = 91, bo = 78)
for (name in sort(names(scores))) {
cat(name, scores[[name]], "\n")
}Output:
ada 91
bo 78
cy 85 Melakukan perulangan pada input dan memperbarui tabel pencarian akan menghitung berapa kali setiap nilai muncul. Saat pertama kali sebuah kata terlihat, nilainya menjadi 1, lalu bertambah 1 setiap kali muncul lagi:
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))Output:
[1] 3
[1] "red" "blue" "green"Untuk menyusun baris output, kumpulkan baris-baris tersebut dalam sebuah vector di dalam perulangan, lalu kembalikan atau cetak semuanya di akhir:
scores <- c(ada = 91, bo = 78)
lines <- c()
for (name in names(scores)) {
lines <- c(lines, paste0(name, ": ", scores[[name]]))
}
cat(lines, sep = "\n")Output:
ada: 91
bo: 78Tantangan
MudahLengkapi word_counts(words). Kembalikan satu baris untuk setiap kata yang berbeda, dalam urutan alfabetis, dengan format word: count.
Kode yang disediakan membaca kata-kata dalam satu baris yang dipisahkan oleh spasi dan mencetak setiap baris yang dikembalikan.
Coba sendiri
word_counts <- function(words) {
# Tulis kodemu di sini
character(0)
}
# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(word_counts(strsplit(input[1], " ")[[1]]), sep = "\n")
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Substring dengan substr()Memformat dengan sprintf()Memisahkan dan MenggabungkanMencari stringMengganti TeksRangkuman: Pembuat Nama Pengguna4Matriks
Membuat MatriksMengakses Elemen MatriksRingkasan Baris dan KolomAritmetika MatriksRangkuman: Denah Tempat Duduk2Pencarian Nilai-Kunci
Pencarian pada Vector BernamaMemeriksa KunciMenambahkan dan Menghapus KunciMenelusuri NamaUlasan: Meja Saham5Proyek, Buku Nilai
Menambahkan SiswaMencatat Nilai3Set dan Penghitungan
Nilai UnikOperasi setPengujian KeanggotaanMenghitung dengan table()Ulasan: Tamu Acara6Fungsi sebagai Nilai
Fungsi AnonimMengirim FungsiMengembalikan FungsiClosure dengan StateRangkuman: Aturan Diskon9Data Frame
Membuat Data FrameKolom dan BarisMemfilter BarisMenambahkan dan MengurutkanRangkuman: Laporan Penjualan12Proyek: Pelacak Pengeluaran
Mencatat PengeluaranTotal PengeluaranLatihan sendiri: Compiler R online