Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 数据框中的列表列表_Linux_Unix_R_Dataframe - Fatal编程技术网

Linux 数据框中的列表列表

Linux 数据框中的列表列表,linux,unix,r,dataframe,Linux,Unix,R,Dataframe,我有一个如下生成的数据: > 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 <- list(hiv.dat1 = as.list(dat

我有一个如下生成的数据:

> 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 <- list(hiv.dat1 = as.list(dat1), hiv.dat2 = as.list(dat2))

>hiv只能选择
列表
类型

  • 嵌套(即递归)

  • 包含不同类型和长度的对象

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


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

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

hiv <- list(hiv.dat1 = lapply(dat1, list), hiv.dat2 = lapply(dat2, list))

hiv我无法理解您想要什么-
str(hiv)
显示您的命令创建了一个包含两个子列表的列表。要访问第一个子列表的第一列,请执行以下所有操作:
hiv$hiv.dat1$V1
hiv$hiv.dat1[[1]]
hiv[[1]][[1]]
甚至
hiv[[1]]$V1
hiv <- list(hiv.dat1 = lapply(dat1, list), hiv.dat2 = lapply(dat2, list))