Jak mogę uzyskać nazwę ramki danych z listy? Oczywiście, get()
pobiera sam obiekt, ale chcę mieć jego nazwę do użycia w ramach innej funkcji. Oto przypadek użycia, w przypadku, czy raczej sugerują obejścia:Jak uzyskać nazwę pliku data.frame na liście?
lapply(somelistOfDataframes, function(X) {
ddply(X, .(idx, bynameofX), summarise, checkSum = sum(value))
})
Jest to kolumna w każdej ramce danych, które przechodzi przez tę samą nazwę jak ramki danych w obrębie listy. Jak mogę uzyskać tę nazwę bynameofX
? names(X)
zwróci cały wektor.
EDIT: Tutaj jest powtarzalna przykład:
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), summary, checkSum = sum (value)) 'działa również, ale może być bardziej mylące – baptiste
, ale jest krótszy, ja lubię! –
@baptiste: czy to działa również z indeksowaniem opartym na nazwach? –