下面的代码按预期返回小标题,这很好
方法1
df <- tibble(ID = 1:2,
ColB = list(list(ved = "19", ved_name = "No", vedd = "11") ,
list(ved = c("65", "83", "2"), ved_name = c("At", "Re", "Rum"),
vedd = c("11", "11", "11"))))
下面是输出
df
# A tibble: 2 x 2
ID ColB
<int> <list>
1 1 <named list [3]>
2 2 <named list [3]>
但是,如果我尝试以其他方式执行上述操作,则无法
方法2
已经有一个清单
List_1
[[1]]
[1] "list(list(ved = "19", ved_name = "No", vedd = "11") ,
list(ved = c("65", "83", "2"), ved_name = c("At", "Re", "Rum"),
vedd = c("11", "11", "11")))"
当我执行以下代码时,输出是不同的
df <- tibble(ID = 1: 2, ColB = List_1)
df
# A tibble: 5 x 2
ID ColB
<int> <list>
1 11 <chr [1]
2 12 <chr [1]>
它们是有区别的。因此,预期的输出将使用Method2步骤获得Method1的输出。
dput(List1)
list("list(list(ved = \"19\", ved_name = \"No\", vedd = \"11\") ,
list(ved = c(\"65\", \"83\", \"2\"), ved_name = c(\"At\", \"Re\", \"Rum\"),
vedd = c(\"11\", \"11\", \"11\")))")
List1
是带有字符串的长度为1的列表。要阅读的列表,在你的第一个例子中,你可以使用eval
,parse
。如果您正在使用它,还请阅读eval(parse(...))的具体危险是什么?。
df <- tibble::tibble(ID = 1:2,
ColB = eval(parse(text = list1[[1]])))
df
# A tibble: 2 x 2
# ID ColB
# <int> <list>
#1 1 <named list [3]>
#2 2 <named list [3]>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句