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

时间:2013-12-18 03:57:37

标签: 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的解决方案。

1 个答案:

答案 0 :(得分:0)

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

> 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"