Ich möchte die gleichen Ergebnisse wie in R summarizing multiple columns with data.table aber für mehrere zusammenfassende Funktionen.R multiple Statistiken für mehrere Spalten mit data.table
Hier ist ein Beispiel
data <- as.data.table(list(x1 = runif(200), x2 = 10*runif(200), group = factor(sample(letters[1:2]))))
res <- data[, rbindlist(lapply(.SD, function(x) {
return(list(name = "varname", mean = mean(x), sd = sd(x)))
}))
, by = group, .SDcols = c("x1", "x2")
]
und das folgende Ergebnis:
group name mean sd
1: b varname 0.5755798 0.2723767
2: b varname 5.5108886 2.7649262
3: a varname 0.4906111 0.3060961
4: a varname 4.7780189 2.9740149
Wie kann ich Spaltennamen erhalten ('x1', 'x2') in der zweiten Spalte? Ich denke, dass ich rbindlist
zu etwas anderem ersetzen muss, aber was? Gibt es eine einfache Lösung?
+1 Dies ist viel eleganter. – juba