Ich versuche Ausreißer in einem tibble, indem sie sie mit NAs ersetzen. Unten ist mein Code:Unerwartete "=" in der Mutate-Anweisung
for (i in colnames(numTable)){
m <- mean(pull(numTable[,i]), na.rm=TRUE)
s<-sd(pull(numTable[,i]),na.rm=TRUE)
numTable %>%
mutate(numTable[,i] = replace(numTable[,i], abs(numTable[,i]-m)>3*s,na.rm=TRUE), NA)
}
ich Fehlermeldungen werden immer, dass
sagt mirError: unexpected '=' in:
" numTable %>%
mutate(numTable[,i] ="
Bitte helfen. Vielen Dank.
Warum brauchen Sie eine 'for' -Schleife? Sie können 'mutate_all' oder' mutate_at' verwenden, dh 'numTable%>% mutate_all (Spaß (ersetzen (., Abs (.- Mittelwert (., Na.rm = TRUE))> 3 * sd (., Na.rm = TRUE)), NA) ' – akrun
Ich änderte es in' numTable%>% muate_at (Spaß (ersetzen (numTable [, i], abs (numTable [, i] -m)> 3 * s (numTable [, i] , na.rm = TRUE)), NA)) 'aber Fehler bekommen' Fehler: Kann keinen Aufruf zu einem nicht aufrufbaren Objekt erzeugen '@akrun – Eva
Ich sagte 'mutate_all' anstelle von' mutate_at' Wenn du' mutate_at' verwendest , Sie müssen den Spaltenindex oder die Namen angeben – akrun