这是我目前的工作:
> 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
的解决方案。
答案 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"