Nilai Unik
Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 12 dari 64.
R tidak memiliki tipe set terpisah: set adalah vector tanpa nilai berulang. unique() menghapus pengulangan dan mempertahankan kemunculan pertama setiap nilai, sesuai urutan aslinya.
tags <- c("r", "stats", "r", "data", "stats")
print(unique(tags))
print(length(unique(tags)))Output:
[1] "r" "stats" "data"
[1] 3duplicated() mengembalikan TRUE untuk setiap nilai yang sudah muncul sebelumnya dalam vector. Kemunculan pertama bernilai FALSE:
ids <- c(7, 3, 7, 9, 3)
print(duplicated(ids))
print(ids[duplicated(ids)])Output:
[1] FALSE FALSE TRUE FALSE TRUE
[1] 7 3Kedua fungsi membandingkan nilai yang persis sama, jadi "R" dan "r" berbeda. Normalisasikan teks terlebih dahulu jika kapitalisasi tidak penting:
langs <- c("R", "python", "r", "Python")
print(length(unique(langs)))
print(unique(tolower(langs)))Output:
[1] 4
[1] "r" "python"unique() juga dapat digunakan pada angka, dan sort(unique(x)) menampilkan nilai yang berbeda dalam urutan menaik. sum(duplicated(x)) menghitung jumlah elemen yang berulang:
rolls <- c(4, 2, 6, 2, 4, 4)
print(sort(unique(rolls)))
print(sum(duplicated(rolls)))Output:
[1] 2 4 6
[1] 3Tantangan
MudahLengkapi count_distinct(tags). Kembalikan jumlah tag yang berbeda dengan mengabaikan huruf besar-kecil: R dan r dihitung satu kali.
Kode yang disediakan membaca tag sebagai baris yang dipisahkan koma dan mencetak angka yang dikembalikan.
Coba sendiri
count_distinct <- function(tags) {
# Tulis kodemu di sini
0
}
# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(count_distinct(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