作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含(嵌套)小标题的列的小标题。嵌套的 tibbles 有重复的数据(相同的名称,相同的值):
df <- tibble(id = 1:2, data = list(tibble(id = 1, var1 = "a", var2 = "b"), tibble(id = 2, var1 = "c", var2 = "d")))
df
# # A tibble: 2 x 2
# id data
# <int> <list>
# 1 1 <tibble [1 x 3]>
# 2 2 <tibble [1 x 3]>
调用 df %>% unnest(data)
结果
Error: Names must be unique.
.
我想编写一个函数来预先删除这些列,但不知道如何操作。我的目标是运行以使用以下内容:
df %>%
drop_duplicated_cols(data) %>%
unnest(data)
这会导致:
#> # A tibble: 2 x 4
#> id var1 var2
#> <int> <chr> <chr>
#> 1 1 a b
#> 2 2 c d
最佳答案
你可以只使用unnest_longer
library(tidyverse)
df %>%
unnest_longer(data)
给出:
# A tibble: 2 x 2
id data$id $var1 $var2
<int> <dbl> <chr> <chr>
1 1 1 a b
2 2 2 c d
如果要真正转换tibble列,还可以使用:
df %>%
left_join(reduce(df$data, bind_rows), by = "id")
给出:
# A tibble: 2 x 4
id data var1 var2
<dbl> <list> <chr> <chr>
1 1 <tibble [1 x 3]> a b
2 2 <tibble [1 x 3]> c d
然后您可以从那里,例如取消选择数据列。
关于r - 如何在取消嵌套之前删除嵌套小标题中的重复列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69320862/
我是一名优秀的程序员,十分优秀!