gpt4 book ai didi

r - 取消嵌套具有不同数据类型的 tibbles 列表列(不能组合 double 和字符)

转载 作者:行者123 更新时间:2023-12-05 02:37:59 25 4
gpt4 key购买 nike

我想取消嵌套的 tibble,但是出现错误。

示例数据:

library(tidyverse)

df <- tribble(
~x, ~y,
1, tibble(a=1, b=2),
2, tibble(a=4:5, b=c("thank","you"),c=1:2))

df
#> # A tibble: 2 x 2
#> x y
#> <dbl> <list>
#> 1 1 <tibble [1 x 2]>
#> 2 2 <tibble [2 x 3]>

df %>% unnest(y)
#> Error: Can't combine `..1$b` <double> and `..2$b` <character>.

reprex package 创建于 2021-11-03 (v2.0.1)

我想我必须将 y 中列出的所有 tibbles 的数据类型更改为字符,但我坚持这样做。

最佳答案

也许是下面的?

library(tidyverse)

df <- tribble(
~x, ~y,
1, tibble(a=1, b=2),
2, tibble(a=4:5, b=c("thank","you"),c=1:2))

df %>%
mutate(y = map(y, ~ mutate(.x, b = as.character(b)))) %>%
unnest(cols = c(y))

#> # A tibble: 3 × 4
#> x a b c
#> <dbl> <dbl> <chr> <int>
#> 1 1 1 2 NA
#> 2 2 4 thank 1
#> 3 2 5 you 2

关于r - 取消嵌套具有不同数据类型的 tibbles 列表列(不能组合 double 和字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69826290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com