Ich möchte das folgende Verhalten mit dplyr
replizieren, wenn das möglich ist.Viele Faktorzeilen mit dplyr neu beschriften
Es ist ziemlich trivial, was ich tue: Ich habe eine Reihe von Faktoren, die eine bestimmte Grundlinie haben, und ich möchte sie zu 0/1 Variablen vereinfachen.
Wenn ich ein Datum simulieren wie folgt festgelegt:
df <- data.frame(id = 1:100,
x = factor(sample(c("a", "b", "c"), 100, T)),
y = factor(sample(c("a", "b", "c"), 100, T)))
Dann kann ich einfach, dass wie dies erreichen:
fn <- function(x) {
ifelse(x == "c", 0, 1)
}
df[c("x", "y")] <- apply(df[c("x", "y")], 2, fn)
df
jedoch in dplyr
dies scheint mich zu besiegen. Ich denke über die Verwendung mutate_which
, aber ich kann nicht scheinen, dass das mit einer benutzerdefinierten Funktion wie fn
arbeiten.
Was ist das Problem mit 'df%>% mutieren (x = fn (x), y = fn (y))' ? – Psidom
Oder 'df%>% mutate_at (vars (x, y), Spaß (if_else (. ==" c ", 0, 1)))' –