【问题标题】:Simplifying the list for nested data frame简化嵌套数据框的列表
【发布时间】:2020-11-12 06:06:27
【问题描述】:

对不起,我是 R 新手 我需要准备一个 json 格式的数据框。但是我很难将变量恢复为原始格式 c(1,2,3,...)。例如

library(tidyr)
x<-tibble(x = 1:3, y = list(c(1,5), c(1,5,10), c(1,2,3,20)))
View(x)

这表明

1           1              c(1, 5)
2           2              c(1, 5, 10)
3           3              c(1, 2, 3, 20)

x1<-x %>% unnest(y)
x2<-x1 %>% nest(data=c(y))
View(x2)

This shows
1           1              1 variable 
2           2              1 variable 
3           3              1 variable

所需的格式是 c(...) 而不是为 json 数据文件做好准备的变量

1           1              c(1, 5)
2           2              c(1, 5, 10)
3           3              c(1, 2, 3, 20)

请帮忙

【问题讨论】:

    标签: r json list nested combinations


    【解决方案1】:

    x$ydoubles 的列表列。而x2$ytibbles 的列表列。

    使用mapunlisttibbles 变成doubles。

    library(tidyverse)
    
    x2 %>%
      mutate(data = map(data, unlist))
    #> # A tibble: 3 x 2
    #>       x data     
    #>   <int> <list>   
    #> 1     1 <dbl [2]>
    #> 2     2 <dbl [3]>
    #> 3     3 <dbl [4]>
    

    或者,您可以使用summarise,而不是nesting。

    x1 %>%
      group_by(x) %>%
      summarise(data = list(y))
    #> # A tibble: 3 x 2
    #>       x data     
    #>   <int> <list>   
    #> 1     1 <dbl [2]>
    #> 2     2 <dbl [3]>
    #> 3     3 <dbl [4]>
    

    【讨论】:

    • 亲爱的保罗,你太棒了!问题解决了。非常非常感谢你。悦仁
    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 2020-05-21
    • 1970-01-01
    • 2021-05-24
    • 2016-12-16
    • 1970-01-01
    • 2018-05-28
    • 2012-04-20
    相关资源
    最近更新 更多