Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 选择并重命名存储在变量中的文件_R_Dplyr_Rlang_Tidyeval - Fatal编程技术网

R 选择并重命名存储在变量中的文件

R 选择并重命名存储在变量中的文件,r,dplyr,rlang,tidyeval,R,Dplyr,Rlang,Tidyeval,我有几个类似的数据帧,有许多相同的列。我想从任何表中选择并重命名这些列的子集 library(tidyverse) mtcars %>% select(my_mpg = mpg, cylinders = cyl, gear) 有可能做像这样的事情吗 my_select_rename <- c("my_mpg"="mpg","cylinders"="cyl","gear") mtcars %>% select_(.dots = my_s

我有几个类似的数据帧,有许多相同的列。我想从任何表中选择并重命名这些列的子集

library(tidyverse)
mtcars %>% 
select(my_mpg = mpg, 
       cylinders = cyl,
       gear)
有可能做像这样的事情吗

my_select_rename <- c("my_mpg"="mpg","cylinders"="cyl","gear")

mtcars %>% 
   select_(.dots = my_select_rename)
my\u选择\u重命名%
选择(.dots=my\u选择\u重命名)
但是改用tidyeval框架?

我想您需要:

my_select <- c("mpg","cyl","gear")
my_select_rename <- c("my_mpg","cylinders","gear")

mtcars %>% 
   select_at(vars(my_select)) %>%
   setNames(., my_select_rename)

                    my_mpg cylinders gear
Mazda RX4             21.0         6    4
Mazda RX4 Wag         21.0         6    4
Datsun 710            22.8         4    4
Hornet 4 Drive        21.4         6    3
Hornet Sportabout     18.7         8    3
myu选择%
设置名称(,我的选择\u重命名)
我的汽缸齿轮
马自达RX4 21.0 6 4
马自达RX4 Wag 21.0 6 4
Datsun 710 22.8 4
大黄蜂4路21.4 6 3
大黄蜂运动队约18.7 8 3

莱昂内尔对这个问题的回答提供了答案

mtcars %>% 
    select(!!! rlang::syms(my_select_rename))

你愿意接受base R方法吗?我更喜欢类似于旧标准评估解决方案的解决方案,但使用新的dplyr版本。这里已经给出了答案:对我来说,这并没有重命名variableStanks@Mike H。对不起,我以为他只想按名称选择列……让我编辑我的帖子。