在下面编码的 R 数据帧中,我想将B
出现的所有时间替换为b
.
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
这提供了:
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
我最初的尝试是使用这样的for
和if
语句:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
但我相信你可以看到,这替换了junk$nm
with的所有值b
。我可以看到为什么这样做,但我似乎无法让它仅替换原始值为 junk$nm 的那些情况B
。
注意:我设法解决了这个问题,gsub
但为了学习 RI,我仍然想知道如何让我的原始方法发挥作用(如果可能的话)