【发布时间】:2022-01-05 17:09:37
【问题描述】:
我想把这行代码推广到tibble的所有列:
starwars_with_species_as_last_column <- starwars %>%
select(1:11) # not interested in generalising this
starwars_with_species_as_last_column %>%
transmute(text = str_c("gender_", gender, " homeworld_", homeworld, "\n", species))
所以我正在考虑一个函数,它将一个包含 n 列的小标题作为输入,并应用 n-1 次连接 col1name_col1content、col2name_col2content 和最后一次与最后一列不同的连接。
我想我可以使用传统的 if 语句来完成,迭代所有列。但它会更好地做到 tidyverse 风格。我想这里需要purrr,但我无法让它工作。
另外,我肯定需要准引号来获取每次列内容之前的列名,例如gender_masculine。
【问题讨论】:
-
我认为带有自定义功能的
across应该可以满足您的需求。 -
谢谢,我试试
标签: r tidyverse purrr quasiquotes