sagen, dass ich einen Datenrahmen wie dies in R haben:Looping und Anwenden derselben dplyr Funktion zu viele Spalten
df <- data.frame(factor1 = c("A","B","B","C"),
factor2 = c("M","F","F","F"),
factor3 = c("0", "1","1","0"),
value = c(23,32,4,1))
ich eine Auswertungsstatistik in dplyr
durch eine Variable gruppiert erhalten möchten, wie so (aber mehr kompliziert):
df %>%
group_by(factor1) %>%
summarize(mean = mean(value))
Nun möchte Ich mag diese alle Faktor Spalten tun (man denke an 100 Faktorvariablen). Gibt es eine Möglichkeit, dies innerhalb von dplyr zu tun? Ich dachte auch über eine for
Schleife über names(df)
, aber ich bekomme die Variablen als Zeichenfolgen und group_by()
akzeptiert keine Zeichenfolgen.
Das ist super danke! Wissen Sie, ob Sie dies in einer for-Schleife tun könnten, indem Sie über die Spaltennamen iterieren? Es könnte nützlich sein, eine Liste von Datenrahmen zu haben, eine für jeden Faktor. –
Warum möchten Sie eine Schleife? Wenn Sie eine Liste von Datenframes am Ende haben wollen, nehmen Sie das obige Ergebnis und 'split (result, result $ faktor)' '. – Gregor
Es könnte in anderen Situationen nützlich sein. Ich denke, ich bin generell neugierig, wie Sie Spaltennamen in dplyr verwenden würden, ohne sie zu benennen. Zum Beispiel: 'df%>% Filter (Namen (df) [1] ==" A ")' funktioniert nicht, aber vielleicht etwas ähnliches würde? –