我有一列嵌套的tibble。我想把第二行的x
值转换成一个列表,这样我就可以unest了。如何根据列名(x
(及其格式(character
(更改此嵌套列表的值?
tibble(data = c(tibble(x = list(NULL)),
tibble(x = ""))) %>%
unnest(data)
#> Error: Can't combine `..1$data` <list> and `..2$data` <character>.
@Duck的评论对我有用。
library(dplyr)
library(tidyr)
tibble(data = c(tibble(x = list(NULL)), tibble(x = ""))) %>%
unnest_wider(data)
让我试着解释一下:
tidy::unnest()
很难找到具有多个嵌套级别的不兼容项。Unnest_;"矩形";tidyverse网站将其描述为";获取一个深度嵌套的列表(通常来源于狂野的JSON或XML(并将其驯服为一个由行和列组成的整洁数据集的艺术和技巧">
Unest_wider获取列表列的每个元素并创建一个新列。
library(dplyr)
library(tidyr)
tibble(data = c(
tibble(x = list(NULL)),
tibble(x = "")
)) |>
mutate(data = ifelse(is.list(data),
data,
list(data)
)) |>
unnest(data)
在tibble中,其中特定列包含";字符";以及";列表";条目尝试此操作:lapply(column1, function(x) {if (is.list(x)) x else list(x)})