【发布时间】:2021-05-25 15:05:03
【问题描述】:
我的情况的 MWE 与help documentation 中为tidyr::separate_rows 给出的示例非常相似)。此示例的简化版本是:
tibble(
x = 1:3,
y = c(list("3"), list("6, 7, 2"), list("4, 1")) # Works
) %>%
separate_rows(y)
给了
# A tibble: 6 x 2
x y
<int> <chr>
1 1 3
2 2 6
3 2 7
4 2 2
5 3 4
6 3 1
我的情况是y中的每个元素都是一个列表,尽管只有一个元素,它是一个向量。
tibble(
x = 1:3,
y = c(list(3), list(c(6, 7, 2)), list(c(4, 1))) # Fails
) %>%
separate_rows(y)
这给了我错误:
Error: Can't combine `..1` <double> and `..2` <character>.
请注意,在这两种情况下,tibble 中的 y 列(separate_rows 之前)是 list 类。根据我在其他地方找到的建议,我尝试使用 unnest 和 mutate_if(islist, ...) 但似乎无法让它们工作。
类似的问题还有很多,但我没有找到和这里完全一样的问题。
【问题讨论】:
标签: r