Mengurutkan Vektor
Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 37 dari 64.
sort(x) mengembalikan nilai x dalam urutan menaik, dan decreasing = TRUE membalik urutannya. Vector asli tidak berubah:
scores <- c(72, 95, 60, 88)
print(sort(scores))
print(sort(scores, decreasing = TRUE))
print(scores)Output:
[1] 60 72 88 95
[1] 95 88 72 60
[1] 72 95 60 88Teks diurutkan berdasarkan abjad. Urutan pastinya bergantung pada pengaturan bahasa sistem: di Coddy, seperti di banyak server, huruf kapital berada sebelum huruf kecil, jadi "Zed" diurutkan sebelum "ada". Gunakan tolower() untuk mengubahnya jika kapitalisasi tidak perlu diperhitungkan:
names <- c("cy", "Zed", "ada")
print(sort(names))
print(sort(tolower(names)))Output:
[1] "Zed" "ada" "cy"
[1] "ada" "cy" "zed"rev(x) membalik urutan saat ini tanpa mengurutkan, dan head(x, n) mempertahankan n elemen pertama. Jika digabungkan dengan sort(), fungsi ini menghasilkan daftar teratas:
scores <- c(72, 95, 60, 88)
print(rev(scores))
print(head(sort(scores, decreasing = TRUE), 2))Output:
[1] 88 60 95 72
[1] 95 88Vektor bernama yang diurutkan mempertahankan setiap nama bersama nilainya, sehingga nama-nama muncul sesuai urutan nilainya:
stock <- c(tea = 12, jam = 3, oil = 7)
low_first <- sort(stock)
print(names(low_first))
print(low_first[["jam"]])Output:
[1] "jam" "oil" "tea"
[1] 3Tantangan
MudahLengkapi top_scores(scores, n). Kembalikan n skor tertinggi dari yang terbesar ke yang terkecil, digabungkan dengan , . Jika jumlah skor kurang dari n, kembalikan semuanya.
Code yang disediakan membaca skor sebagai baris yang dipisahkan koma dan n, lalu mencetak nilai yang dikembalikan.
Coba sendiri
top_scores <- function(scores, n) {
# Tulis kodemu di sini
""
}
# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(top_scores(as.numeric(strsplit(input[1], ",")[[1]]), as.numeric(input[2])), 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 Nilai8Pengurutan dan Pengelompokan
Mengurutkan VektorMengurutkan berdasarkan KunciMengelompokkan dengan split()Ringkasan KelompokUlasan: Papan Peringkat3Set 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