Folgende Arbeiten fein:dplyr :: do() benötigt benannte Funktion?
library(dplyr)
m <- function(df) {
mod <- lm(Sepal.Length ~ Sepal.Width, data = df)
pred <- predict(mod,newdata = df["Sepal.Width"])
data.frame(df,pred)
}
iris %>%
group_by(Species) %>%
do(m(.))
Ich dachte, dass dies funktionieren würde, wenn ich eine anonyme Funktion verwendet, aber es funktioniert nicht:
iris %>%
group_by(Species) %>%
do(function(df) {
mod <- lm(Sepal.Length ~ Sepal.Width, data = df)
pred <- predict(mod,newdata = df["Sepal.Width"])
data.frame(df,pred)
})
Error: Results are not data frames at positions: 1, 2, 3
So lustig wie die andere Antwort war, ist diese Antwort viel sauberer! Ich vergesse immer wieder, dass '.' ein Pronomen für den gesamten Datensatz sein kann. – AndrewMacDonald