首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在map()中使用spread()

在map()中使用spread()
EN

Stack Overflow用户
提问于 2020-03-09 22:10:48
回答 1查看 129关注 0票数 2

我很难在map()函数中使用散布()。下面是一个数据示例:

代码语言:javascript
复制
data1 <- tibble(size = c("1", "2", "3", "4"),
               color = c("blue", "green", "yellow", "black"))

data2 <- tibble(size = c("7", "3", "10", "1"),
                color = c("orange", "yellow", "red", "white"))

dataList <- list(data1, data2)

我想使用我的列表实现的功能与使用单个tibble实现的功能类似:

代码语言:javascript
复制
spread(data1, size, color)

# A tibble: 1 x 4
  `1`   `2`   `3`    `4`  
  <chr> <chr> <chr>  <chr>
1 blue  green yellow black

但是我想使用map()在我的列表中的两个部分上应用这个散布()。但我找不到正确的方法...有什么想法吗?非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-09 22:18:38

由于tidyr::spread已折旧,因此使用tidyr::pivot_wider

代码语言:javascript
复制
data1 <- tibble::tibble(size = c("1", "2", "3", "4"),
        color = c("blue", "green", "yellow", "black"))

data2 <- tibble::tibble(size = c("7", "3", "10", "1"),
        color = c("orange", "yellow", "red", "white"))

dataList <- list(data1, data2)

purrr::map(.x = dataList, .f = ~tidyr::pivot_wider(.x, names_from = size, values_from = color) )
#> [[1]]
#> # A tibble: 1 x 4
#>   `1`   `2`   `3`    `4`  
#>   <chr> <chr> <chr>  <chr>
#> 1 blue  green yellow black
#> 
#> [[2]]
#> # A tibble: 1 x 4
#>   `7`    `3`    `10`  `1`  
#>   <chr>  <chr>  <chr> <chr>
#> 1 orange yellow red   white
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60602327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档