Dalam bingkai data R yang dikodekan di bawah ini, saya ingin mengganti semua waktu yang B
muncul dengan b
.
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
ini memberikan:
nm val
1 A a
2 B b
3 C c
4 D d
5 A e
6 B f
7 C g
8 D h
9 A i
10 B j
11 C k
12 D l
Upaya awal saya adalah menggunakan for
dan if
pernyataan seperti ini:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
tetapi seperti yang saya yakin Anda bisa lihat, ini menggantikan SEMUA nilai junk$nm
dengan b
. Saya dapat melihat mengapa ini melakukan ini tetapi saya tidak bisa mendapatkannya hanya untuk mengganti kasus sampah $ nm di mana nilai aslinya B
.
CATATAN: Saya berhasil menyelesaikan masalah dengan gsub
tetapi untuk kepentingan belajar RI masih ingin tahu bagaimana cara mendapatkan pendekatan asli saya untuk bekerja (jika memungkinkan)