在维护数据结构的同时使用'group_split'?

在维护数据结构的同时使用'group_split'?,r,dplyr,purrr,R,Dplyr,Purrr,我正在使用osfr包,我想将函数osf_ls_节点应用到数据中的每一行 库(osfr) 图书馆(dplyr) 图书馆(purrr) 项目数据= osfr::osf_检索_用户(“qs9fc”)%>% osf_ls_节点() 项目_数据%>%###仅适用于第一个元素 osf_ls_文件() #>警告:这不是矢量化函数。只有第一行(共10行)将被删除 #>用过。 #>#tibble:2 x 3 #>名称id元 #>

我正在使用
osfr
包,我想将函数
osf_ls_节点
应用到数据中的每一行

库(osfr)
图书馆(dplyr)
图书馆(purrr)
项目数据=
osfr::osf_检索_用户(“qs9fc”)%>%
osf_ls_节点()
项目_数据%>%###仅适用于第一个元素
osf_ls_文件()
#>警告:这不是矢量化函数。只有第一行(共10行)将被删除
#>用过。
#>#tibble:2 x 3
#>名称id元
#>                                                             
#>1预分析计划.html 5e74e7554a60a50569bb5299
#>2预分析计划修订文件5ee79fa0af2627000d4f641c
当我尝试使用
tidyverse
使用典型的矢量化模式时,数据的结构会发生变化,这也不起作用

当我尝试对格式更改进行矢量化时 超出% 变异(n=行数())%>% 组分割(.keep=F)%>% 映射(osf_ls_文件) #>UseMethod(“osf_ls_文件”)中的错误:没有适用于“c”类对象的“osf_ls_文件”的方法(“tbl_df”、“tbl”、“data.frame”)
我可以通过循环看到一种明显的方法,但我想知道在维护数据结构的同时是否可以使用
组分割
或类似的函数。

我们可以使用
进行
循环

library(dplyr)
out <- vector('list', nrow(project_data))
for(i in seq_along(out)) {
    out[[i]] <- project_data %>% 
                   slice(i) %>%
                   osf_ls_files()
    }
out1 <- bind_rows(out)
out1
# A tibble: 31 x 3
#   name                             id                       meta            
#   <chr>                            <chr>                    <list>          
# 1 pre_analysis_plan.html           5e74e7554a60a50569bb5299 <named list [3]>
# 2 pre_analysis_plan_amendment.docx 5ee79fa0af2627000d4f641c <named list [3]>
# 3 Analyses                         5d85386ab3103d00185130b1 <named list [3]>
# 4 Appendix                         5d8539fc51eeee0019bb9417 <named list [3]>
# 5 Program_2017.pdf                 5eb4611e9ddd2800b6091b74 <named list [3]>
# 6 Materials shared by speakers     5eb4612d9ddd2800b70935cb <named list [3]>
# 7 Program_2018.pdf                 5eb461f3877c5e00bf3a35b2 <named list [3]>
# 8 Program_2019.pdf                 5eb46210877c5e00b93a46cb <named list [3]>
# 9 Program_2020.pdf                 5eb46222877c5e00c03a4fb6 <named list [3]>
#10 Sample Implementations           5626656b8c5e4a103c6121dd <named list [3]>
# … with 21 more rows

group\u split
应用于整个数据,而不是
n
这太棒了@akrun!我会接受的,你有没有建议在没有循环的情况下写这个?“John Henry,现在有一些ATILITBUTE的问题显示在 GROPPLSPLIG/<代码>和行> >你认为我应该考虑BASE <代码>分裂< /代码>吗?我以前没用过,但我想让你尝尝
library(purrr)
project_data %>%
     split(seq_len(nrow(.))) %>%
      map_dfr(osf_ls_files)
# A tibble: 31 x 3
#   name                             id                       meta            
#   <chr>                            <chr>                    <list>          
# 1 pre_analysis_plan.html           5e74e7554a60a50569bb5299 <named list [3]>
# 2 pre_analysis_plan_amendment.docx 5ee79fa0af2627000d4f641c <named list [3]>
# 3 Analyses                         5d85386ab3103d00185130b1 <named list [3]>
# 4 Appendix                         5d8539fc51eeee0019bb9417 <named list [3]>
# 5 Program_2017.pdf                 5eb4611e9ddd2800b6091b74 <named list [3]>
# 6 Materials shared by speakers     5eb4612d9ddd2800b70935cb <named list [3]>
# 7 Program_2018.pdf                 5eb461f3877c5e00bf3a35b2 <named list [3]>
# 8 Program_2019.pdf                 5eb46210877c5e00b93a46cb <named list [3]>
# 9 Program_2020.pdf                 5eb46222877c5e00c03a4fb6 <named list [3]>
#10 Sample Implementations           5626656b8c5e4a103c6121dd <named list [3]>
# … with 21 more rows