我有一些旧代码,过go 使用tidyr::unnest_wider()
将嵌套的命名列表取消嵌套到它们自己的列中;然而,现在它不再起作用了.相反,我得到的错误是x$name_of_list
必须是一个向量,而不是<non-vector>
对象,其中非向量对象包括<mcpfit>
和<patchwork/gg/ggplot>
个对象.看起来他们试图解决这个问题here,但是使用tidyr v1.3.0仍然不能解决这个问题.
我不能轻易地从我自己的用例中创建一个可重现的例子.但我将使用上面Github问题链接中列出的示例,希望这也适用于我的用例.
library(tidyverse)
m <-
tibble::as_tibble(mtcars[1,]) %>%
mutate(ls_col=list(
list(
a=c(1:10),
b=lm(cyl~gear))
)
)
m2 <-
m %>%
unnest_wider(ls_col)
我正在寻找备选的data.table
或基本R解决方案或tidyverse
解决方案(例如,从嵌套列表中删除非向量对象,然后使用tidyr::unnest_wider()
).tidyr::unnest()
似乎可以工作,但是我不知道如何将包含列表的列转换为它们自己的列(每次我try 这样的操作时,R都会崩溃).