首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >purrr::map_dfc R中同名科尔的变化模式

purrr::map_dfc R中同名科尔的变化模式
EN

Stack Overflow用户
提问于 2022-01-24 17:27:41
回答 1查看 73关注 0票数 0

我有一个函数,它用2 cols (X和Y)生成数据。我想使用map_dfc,但我想更改后缀"...1“、"...2”等等,因为它们的名称是相同的。

我想要(X_df1,Y_df1,X_df2,Y_df2,.)之类的东西。有后缀参数吗?我看过文件却找不到

我不想使用map_dfr,因为我需要数据帧的宽度。

代码语言:javascript
复制
example_function <- function(n1,n2){
  
  tibble(X = n1+n2,
         Y = n1*n2)
  
}

values <- tibble(n1 = c(1,2),
                 n2 = c(5,6))

map2_dfc(values$n1, values$n2, example_function)

给我

代码语言:javascript
复制
A tibble: 1 x 4
  X...1 Y...2 X...3 Y...4
  <dbl> <dbl> <dbl> <dbl>
1     6     5     8    12

我想要

代码语言:javascript
复制
A tibble: 1 x 4
  X_df1 Y_df1 X_df2 Y_df2
  <dbl> <dbl> <dbl> <dbl>
1     6     5     8    12

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 17:46:23

如果我们不想更改函数,可以在绑定cols之前使用rename --使用pmap对数据行进行循环,应用函数(example_function),用imaplist上循环,用list索引重命名tibbles的所有列,然后使用bind_cols

代码语言:javascript
复制
library(dplyr)
library(purrr)
library(stringr)
pmap(values, example_function) %>%
    imap(~ {nm1 <- str_c('_df', .y)
    rename_with(.x, ~ str_c(., nm1), everything())
   }) %>% 
  bind_cols

-output

代码语言:javascript
复制
# A tibble: 1 × 4
  X_df1 Y_df1 X_df2 Y_df2
  <dbl> <dbl> <dbl> <dbl>
1     6     5     8    12
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70837971

复制
相关文章

相似问题

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