【发布时间】:2019-07-03 16:10:55
【问题描述】:
我想使用names 函数将相同的列名应用于多个数据帧,所有这些数据帧都具有相同的列数。我当然可以通过为每个数据帧调用names 以错误 的方式做到这一点,但我想正确地做到这一点。这是设置:
library(tidyverse)
df1 <- tibble(1,2,3,4,5)
df2 <- tibble(6,7,8,9,10)
df3 <- tibble(11,12,13,14,15)
df4 <- tibble(16,17,18,19,20)
column_names <- c("Alpha","Bravo","Charlie","Delta","Echo")
tibbles_list <- (c("df1","df2","df3","df4"))
错误的方式当然是:
names(df1) <- column_names
names(df2) <- column_names
names(df3) <- column_names
names(df4) <- column_names
我想以某种方式使用tibbles_list 中的数据帧列表(通过as.name 或rlang::syms 或类似方法)将column_names 应用于一行代码中的所有数据帧,也许使用某些种类的代码purrr 的 map 或基本 R 中的 apply 函数之一,但我完全不知道如何操作。
【问题讨论】:
-
你为什么要列出数据框的名称,而不仅仅是数据框本身?例如
tibbles_list <- list(df1, df2, df3, df4) -
嗨卡米尔——不知道。我可能做错了很多事情。