在维护数据结构的同时使用'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的问题显示在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