How to resolve error: Argument 1 must have names when using map( ) pluck( ) in R to list( )?
How to resolve error: Argument 1 must have names when using map( ) pluck( ) in R to list( )?
我有这个:
list(list(result="0001"),list(result="0002")) %>%
purrr::map(pluck, 'result') %>%
dplyr::bind_rows()
输出:错误:参数 1 必须有名称。
出现错误是因为列表结果"0001"与"0002"同名[1],输出:
[[1]]
[[1]]$result
[1] "0001" <---- [1]
[[2]]
[[2]]$result
[1] "0002" <---- [1]
n个case名字如何动态重启?预期输出:
[[1]]
[[1]]$result
[1] "0001" <---- [1]
[[2]]
[[2]]$result
[2] "0002" <---- [2]
可能它一定是 map() 和 bind_rows()
之间的某种转换或函数
purrr::map(pluck, 'result') %>%
????
dplyr::bind_rows()
到bind_rows()
,你只需要事先将向量列表转换成dataframe
的列表。所以,你可以这样做:
Reprex
- 代码
library(purrr)
library(dplyr)
list(list(result="0001"),list(result="0002")) %>%
purrr::map(pluck, 'result') %>%
purrr::map(., ~ data.frame(results = .)) %>%
bind_rows()
- 输出
#> results
#> 1 0001
#> 2 0002
由 reprex package (v2.0.1)
创建于 2022-03-04
我有这个:
list(list(result="0001"),list(result="0002")) %>%
purrr::map(pluck, 'result') %>%
dplyr::bind_rows()
输出:错误:参数 1 必须有名称。
出现错误是因为列表结果"0001"与"0002"同名[1],输出:
[[1]]
[[1]]$result
[1] "0001" <---- [1]
[[2]]
[[2]]$result
[1] "0002" <---- [1]
n个case名字如何动态重启?预期输出:
[[1]]
[[1]]$result
[1] "0001" <---- [1]
[[2]]
[[2]]$result
[2] "0002" <---- [2]
可能它一定是 map() 和 bind_rows()
之间的某种转换或函数purrr::map(pluck, 'result') %>%
????
dplyr::bind_rows()
到bind_rows()
,你只需要事先将向量列表转换成dataframe
的列表。所以,你可以这样做:
Reprex
- 代码
library(purrr)
library(dplyr)
list(list(result="0001"),list(result="0002")) %>%
purrr::map(pluck, 'result') %>%
purrr::map(., ~ data.frame(results = .)) %>%
bind_rows()
- 输出
#> results
#> 1 0001
#> 2 0002
由 reprex package (v2.0.1)
创建于 2022-03-04