Voglio gli stessi risultati di R summarizing multiple columns with data.table ma per diverse funzioni di riepilogo.R statistiche multiple per più colonne con data.table
Ecco un esempio
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")
]
E ottenere il seguente risultato:
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
Come posso ottenere i nomi delle colonne ('x1', 'x2') nella seconda colonna? Suppongo di dover sostituire lo rbindlist
con qualcos'altro, ma cosa? C'è una soluzione semplice?
+1 Questo è molto più elegante. – juba