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"