r - 循环获取代码簿打印 null 的列名称

标签 r dplyr purrr

这看起来应该是这么简单......

我正在尝试创建一个循环来为事物分配列名称。但是,当我尝试将循环名称命名为列时,我只是得到空值。例如:

mtcars1 <- mtcars
mtcars2 <- mtcars
colnames(mtcars2) <- paste0(colnames(mtcars), "2")


codebook <- for(x in 1:2){
  colnames(paste0("mtcars",x))
} %>% reduce(full_join)

最佳答案

full_join中,没有by。通常,by 会选取两者中常见的列名称。由于第二个数据集列都是通过在末尾附加 2 进行修改的,所以这是行不通的。在这里,我们指定了 by 和列名,以便它可以工作。

library(dplyr)
library(purrr)
mget(paste0("mtcars", 1:2)) %>% 
    reduce(full_join, by = c("gear" = "gear2"))

此外,paste步骤仅返回字符串中的对象名称,我们需要get(如果是单个数据集)或mget(如果超过one - 返回值列表)

for(x in 1:2) print(colnames(get(paste0("mtcars", x))))
 [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"
 [1] "mpg2"  "cyl2"  "disp2" "hp2"   "drat2" "wt2"   "qsec2" "vs2"   "am2"   "gear2" "carb2"

关于r - 循环获取代码簿打印 null 的列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74381169/

相关文章:

ajax - 如何从 R 控制 Firefox 来处理 AJAX/Javascripts

r - 为什么有 plot.lm 帮助页面,而函数 plot.lm 不存在

r - 变量名顺序pivot_wider

r - 使用 purrr 和 Expand.grid 来循环 t.test 的公式,同时调节另一个变量

r - 如何将字符向量与 R 中 tibble 中的字符向量列表进行匹配?

r - purrr rbind 每组数据帧列表

r - 使用 RDCOMClient 打开数据帧时内存泄漏

r - 列出 R 向量中的不同值

r - 使用 dplyr mutate 将列名传递给函数,而不使用折旧的 mutate_

r - 使用 ends_with 帮助器和字符串名称向量选择列