【发布时间】:2011-06-18 23:45:43
【问题描述】:
我有一个这样生成的数据:
> dat1 <- data.frame(V1 = rep(1, 5), V2 = sample(c(40:45), 5))
> dat2 <- data.frame(V1 = sample(c(0,1), 5, replace = TRUE), V2 = sample(c(40:45), 5, replace = TRUE))
我想要做的是获取一个包含列表列表的数据框。
> hiv
$hiv.dat1
$hiv.dat1$V1[[1]]
[1] 1 1 1 1 1
$hiv.dat1$V2[[1]]
[1] 41 42 43 40 44
$hiv.dat2
$hiv.dat2$V1[[1]]
[1] 0 1 1 0 0
$hiv.dat2$V2[[1]]
[1] 42 43 40 44 43
但是为什么这行命令无法创建呢?
> hiv <- list(hiv.dat1 = as.list(dat1), hiv.dat2 = as.list(dat2))
特别是它给出“$hiv.dat1$V1”而不是“$hiv.dat1$V1[[1]]”。
我们该如何纠正呢? 我需要特定包 (ROCR) 所需的这种特定数据结构。
【问题讨论】:
-
我无法理解您想要什么 -
str(hiv)表明您的命令创建了一个包含两个子列表的列表。以下所有工作都是为了访问第一个子列表的第一列:hiv$hiv.dat1$V1或hiv$hiv.dat1[[1]]或hiv[[1]][[1]]甚至hiv[[1]]$V1