首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据框中列表列表

数据框中列表列表
EN

Stack Overflow用户
提问于 2011-02-01 09:50:53
回答 2查看 225关注 0票数 0

我有一个数据是这样生成的:

代码语言:javascript
复制
> 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))

我想要做的是获得一个包含列表列表的数据帧。

代码语言:javascript
复制
> 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

但是为什么这行命令不能创建它呢?

代码语言:javascript
复制
> hiv <- list(hiv.dat1 = as.list(dat1), hiv.dat2 = as.list(dat2))

特别是它给出了"$hiv.dat1$V1“而不是"$hiv.dat1$V1[1]”。

我们该如何纠正这一点呢?我需要一个特定的包(ROCR)所需的这个特定的数据结构。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-01 12:37:44

似乎您希望数据框的每个元素都成为自己的列表(长度为1);相反,您的代码会将每个数据框变成一个包含数据框元素的列表。您需要使用lapplylist函数分别应用于每个元素。

代码语言:javascript
复制
hiv <- list(hiv.dat1 = lapply(dat1, list), hiv.dat2 = lapply(dat2, list))
票数 2
EN

Stack Overflow用户

发布于 2011-02-01 10:01:25

只有list类型可以为

不同类型和不同长度的对象嵌套(ie recurse)

  • contain

因此,简而言之,没有数据帧的嵌套,但您可以在列表中堆叠不同的数据帧。

(请不要在此处和r-help上交叉发布。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4858105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档