En el marco de datos R codificado a continuación, me gustaría reemplazar todas las veces que B
aparecen con b
.
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
esto proporciona:
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
Mi intento inicial fue usar declaraciones for
y if
como esta:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
pero como estoy seguro de que puede ver, esto reemplaza TODOS los valores de junk$nm
with b
. Puedo ver por qué esto está haciendo esto, pero parece que no puedo lograr que reemplace solo aquellos casos de $ nm basura donde estaba el valor original B
.
NOTA: Me las arreglé para resolver el problema con, gsub
pero con el interés de aprender, RI aún me gustaría saber cómo hacer que mi enfoque original funcione (si es posible)