Trong khung dữ liệu R được mã hóa cho bên dưới, tôi muốn thay thế tất cả thời gian B
xuất hiện bằng b
.
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
điều này cung cấp:
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
Nỗ lực ban đầu của tôi là sử dụng a for
và các if
câu lệnh như sau:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
nhưng như tôi chắc chắn bạn có thể thấy, điều này thay thế TẤT CẢ các giá trị của junk$nm
with b
. Tôi có thể hiểu lý do tại sao điều này đang làm điều này nhưng tôi dường như không thể làm cho nó chỉ thay thế những trường hợp $ nm rác có giá trị ban đầu B
.
LƯU Ý: Tôi đã giải quyết được vấn đề gsub
nhưng vì quan tâm đến việc học, RI vẫn muốn biết cách để cách tiếp cận ban đầu của tôi hoạt động (nếu có thể)