Angenommen, ich habe einen Datenframe, an dem ich Transformationen durchführen möchte. Normalerweise würde es wie folgt aussehen:Bedingte Werte mit Hilfe von magrit ersetzen
a <- data.frame(c(NA, 0,1), c(34,NA,0), c(3,9,NA))
b <- c('key1', 'key2', 'key3')
####replace NA values with 0
a[is.na(a)] <- 0
####replace 1 with 2
a[a==1] <- 2
####sum rows
a <- rowSums(a)
####bind b as key column for joining datasets in a later stage
c <- cbind(b, a)
Nun meine Frage: Wie übersetzen ich das magrittr
?
library(magrittr)
c %>%
.[is.na] %>% 0 %>% .[.==1] %>% 2 %>%
rowSums %>% cbind(b, .)
gibt mir:
Fehler in [is.na (.).]: Objekt vom Typ 'builtin' ist nicht subsettable
Zusätzlich: Warnmeldung:
In ist. na (.): is.na() angewendet (Liste oder Vektor) auf nicht vom Typ 'builtin'
Vielen Dank, ich bevorzuge einen Weg, ohne ein anderes Paket zu verwenden. Die Ersatzfunktion ist, was ich gesucht habe. – DaReal