Làm cách nào để có được tên khung dữ liệu từ danh sách? Chắc chắn, get()
lấy đối tượng, nhưng tôi muốn có tên của nó để sử dụng trong một hàm khác. Đây là trường hợp sử dụng, trong trường hợp bạn muốn đề xuất một công việc xung quanh:Làm thế nào để lấy tên của một data.frame trong một danh sách?
lapply(somelistOfDataframes, function(X) {
ddply(X, .(idx, bynameofX), summarise, checkSum = sum(value))
})
Có một cột trong mỗi khung dữ liệu có cùng tên với khung dữ liệu trong danh sách. Làm thế nào tôi có thể nhận được tên này bynameofX
? names(X)
sẽ trả lại toàn bộ vectơ.
EDIT: Dưới đây là một ví dụ tái sản xuất:
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), tóm tắt, checkSum = tổng (giá trị)) 'hoạt động tốt, nhưng có thể khó hiểu hơn – baptiste
nhưng ngắn hơn, tôi thích! –
@ baptiste: điều đó có hoạt động với chỉ mục dựa trên tên không? –