「嵌套數據幀」已在提出這個問題之後的具體含義。在2016年,它可能會被解釋如下:
dat1 <- data.frame(labels = rep(1, 3), predictions = rep(43, 3))
dat2 <- data.frame(labels = c(rep(1, 5), 0),
predictions = c(43, 21, 43, 43, 24, 24))
dat1
#> labels predictions
#> 1 1 43
#> 2 1 43
#> 3 1 43
dat2
#> labels predictions
#> 1 1 43
#> 2 1 21
#> 3 1 43
#> 4 1 43
#> 5 1 24
#> 6 0 24
dat <- list(HIV = 1:2, data = list(dat1, dat2))
attr(dat, "row.names") <- 1:2
class(dat) <- c("tbl_df", "data.frame")
dat # nested data frame, using the "tidyr" package definition of "nest"
#> HIV data
#> 1 1 1, 1, 1, 43, 43, 43
#> 2 2 1, 1, 1, 1, 1, 0, 43, 21, 43, 43, 24, 24
str(dat)
#> Classes 'tbl_df' and 'data.frame': 2 obs. of 2 variables:
#> $ HIV : int 1 2
#> $ data:List of 2
#> ..$ :'data.frame': 3 obs. of 2 variables:
#> .. ..$ labels : num 1 1 1
#> .. ..$ predictions: num 43 43 43
#> ..$ :'data.frame': 6 obs. of 2 variables:
#> .. ..$ labels : num 1 1 1 1 1 0
#> .. ..$ predictions: num 43 21 43 43 24 24
library(tidyr)
dat # nicer printing with the tidyr package
#> Source: local data frame [2 x 2]
#>
#> HIV data
#> (int) (chr)
#> 1 1 <data.frame [3,2]>
#> 2 2 <data.frame [6,2]>
unnest(dat) # ordinary data frame representation
#> Source: local data frame [9 x 3]
#>
#> HIV labels predictions
#> (int) (dbl) (dbl)
#> 1 1 1 43
#> 2 1 1 43
#> 3 1 1 43
#> 4 2 1 43
#> 5 2 1 21
#> 6 2 1 43
#> 7 2 1 43
#> 8 2 1 24
#> 9 2 0 24
爲什麼你想這樣做?看起來不太可能產生更容易處理的數據結構。 – hadley 2011-01-31 18:10:53