Memisahkan dan Menggabungkan
Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 3 dari 64.
strsplit(x, split) memotong string pada setiap pemisah. Fungsi ini mengembalikan list dengan satu vektor karakter untuk setiap string input, jadi gunakan [[1]] untuk mendapatkan bagian-bagian dari satu string.
csv <- "red,green,blue"
parts <- strsplit(csv, ",")[[1]]
print(parts)
print(length(parts))Output:
[1] "red" "green" "blue"
[1] 3paste() bekerja sebaliknya. Dengan collapse, fungsi ini menggabungkan elemen-elemen dari satu vektor menjadi satu string dengan teks collapse di antaranya. sep ditempatkan di antara argumen, elemen demi elemen.
words <- c("one", "two", "three")
print(paste(words, collapse = "-"))
print(paste(words, 1:3, sep = "_"))Output:
[1] "one-two-three"
[1] "one_1" "two_2" "three_3"Teks dari input sering memiliki spasi di sekitar pemisah. trimws() menghapus spasi di awal dan akhir setiap elemen:
raw <- " apples , pears,plums "
items <- trimws(strsplit(raw, ",")[[1]])
print(items)
print(paste(rev(items), collapse = " | "))Output:
[1] "apples" "pears" "plums"
[1] "plums | pears | apples"strsplit() pada sebuah vektor mengembalikan satu elemen list untuk setiap string, sehingga setiap baris input menyimpan bagiannya sendiri:
lines <- c("a,b", "c,d,e")
parts <- strsplit(lines, ",")
print(length(parts))
print(parts[[2]])Output:
[1] 2
[1] "c" "d" "e"Tantangan
MudahLengkapi hashtags(line). Baris tersebut berisi tag yang dipisahkan dengan koma, mungkin dengan spasi di sekitarnya. Kembalikan satu string dengan setiap tag diawali #, dan dipisahkan dengan satu spasi: r, data ,stats menjadi #r #data #stats.
Kode yang disediakan membaca baris tersebut dan mencetak nilai yang dikembalikan.
Coba sendiri
hashtags <- function(line) {
# Tulis kodemu di sini
line
}
# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[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