In dem unten codierten R-Datenrahmen möchte ich alle Zeiten ersetzen, die durch B
angezeigt werden b.
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
Dies bietet:
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
Mein erster Versuch war, a forund ifAnweisungen wie folgt zu verwenden:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
Aber wie Sie sicher sehen können, ersetzt dies ALLE Werte von junk$nmdurch b. Ich kann sehen, warum dies so ist, aber ich kann nicht scheinen, dass es nur die Fälle von Junk $ nm ersetzt, in denen der ursprüngliche Wert war B.
HINWEIS: Ich habe es geschafft, das Problem mit zu lösen, gsubaber im Interesse des Lernens möchte RI immer noch wissen, wie ich meinen ursprünglichen Ansatz zum Arbeiten bringen kann (wenn es möglich ist).