在map()中使用spread()
我正在努力在map()函数中使用spread()。以下是一个示例数据:在map()中使用spread(),r,tidyr,purrr,R,Tidyr,Purrr,我正在努力在map()函数中使用spread()。以下是一个示例数据: 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",
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)
data1使用tidyr::pivot\u wide
因为tidyr::spread
被折旧:
data1`1``2``3``4`
#>
#>1蓝绿黄黑
#>
#> [[2]]
#>#A tibble:1 x 4
#> `7` `3` `10` `1`
#>
#>1橙黄红白
map(数据列表,~spread(、大小、颜色))
维护列表中的排列帧,这就是您要查找的吗?(或tidyr中较新的变体:map(数据列表,~pivot\u加宽(,,name\u from=“size”,values\u from=“color”))
)您熟悉使用purr
函数吗?如果您的重塑按照您想要的方式工作,那么您应该能够将您已经得到的内容封装在函数/公式表示法中。您想要的输出是什么:重塑数据帧的列表,还是来自重塑单个数据帧的单个数据帧?是的,我想要的输出就是重塑数据的列表!
spread(data1, size, color)
# A tibble: 1 x 4
`1` `2` `3` `4`
<chr> <chr> <chr> <chr>
1 blue green yellow black