Come posso ottenere il nome di un frame di dati da un elenco? Certo, get()
ottiene l'oggetto stesso, ma voglio avere il suo nome per l'uso all'interno di un'altra funzione. Ecco il caso d'uso, nel caso in cui si preferisce suggerire un lavoro intorno:Come ottenere il nome di un data.frame all'interno di un elenco?
lapply(somelistOfDataframes, function(X) {
ddply(X, .(idx, bynameofX), summarise, checkSum = sum(value))
})
C'è una colonna in ogni fotogramma di dati che va sotto lo stesso nome il frame di dati all'interno della lista. Come posso ottenere questo nome bynameofX
? names(X)
restituirebbe l'intero vettore.
EDIT: Ecco un esempio riproducibile:
df1 <- data.frame(value = rnorm(100), cat = c(rep(1,50),
rep(2,50)), idx = rep(letters[1:4],25))
df2 <- data.frame(value = rnorm(100,8), cat2 = c(rep(1,50),
rep(2,50)), idx = rep(letters[1:4],25))
mylist <- list(cat = df1, cat2 = df2)
lapply(mylist, head, 5)
'llply (mylist, .fun = ddply, c (2, 3), riepiloga, checkSum = sum (value)) 'funziona pure, ma potrebbe essere più confuso – baptiste
ma è più breve, mi piace! –
@baptiste: funziona anche con indicizzazione basata su nome? –