Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.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
R如何创建包含列表列的数据帧?_R - Fatal编程技术网

R如何创建包含列表列的数据帧?

R如何创建包含列表列的数据帧?,r,R,这是我目前的工作重点: > df=data.frame(a=1) > df$b = list(list(2,'a')) > df a b 1 1 2, a 它是有效的,我并不介意df=data.frame(a=1,b=list(list(1,'a'))不起作用 但是引用b需要[[]]符号,比如:df$b[[1]] 我正在寻找一种解决方案,它只允许df$b您所寻找的是不可能的。如果使用列表,则需要使用[[]]符号。否则,可以使用命令unlist()转换df$b的元素

这是我目前的工作重点:

> df=data.frame(a=1)
> df$b = list(list(2,'a'))
> df
  a    b
1 1 2, a
它是有效的,我并不介意
df=data.frame(a=1,b=list(list(1,'a'))
不起作用

但是引用
b
需要
[[]]
符号,比如:
df$b[[1]]


我正在寻找一种解决方案,它只允许
df$b

您所寻找的是不可能的。如果使用列表,则需要使用
[[]]
符号。否则,可以使用命令
unlist()
转换
df$b
的元素


这个怎么样:
df=data.frame(a=1,b=I(list)(list(1,'a')))
那么为什么不使用list呢?data.frame用于表格数据,您的数据显然不是表格数据。@Stat-nice,但我真的不介意在后面添加列表列。我想避免的是必须使用
[[]]
符号。@mpiktas-这个例子是重现这个问题的最简单的例子。
df$b
在R2.15.0中适用于我
> df$b
[[1]]
[[1]][[1]]
[1] 2

[[1]][[2]]
[1] "a" 

> unlist(df$b)
[1] "2" "a"
> unlist(df$b)[1]
[1] "2"
> unlist(df$b)[2]
[1] "a"