当列名有空格时以编程方式从数据框中选择列
Selecting columns from dataframe programmatically when column names have spaces
我有一个要查询的数据框。请注意,该数据框的列可能会更改,并且列名具有 spcaes。我有一个要应用于数据框列的函数。我想我可以通过编程找出存在的列,然后使用该列列表将函数应用于存在的列。
当列名没有空格时,我能够弄清楚如何做到这一点:请参阅下面的代码
library(tidyverse)
library(rlang)
col_names <- c("cyl","mpg","New_Var")
cc <- rlang::quos(col_names)
mtcars%>%mutate(New_Var=1)%>%select(!!!cc)
但是当列名有空格时,这个方法就不行了,下面是我使用的代码:
col_names <- c("cyl","mpg","`New Var`")
cc <- rlang::quos(col_names)
mtcars%>%mutate(`New Var`=1)%>%select(!!!cc)
有没有办法在不更改名称的情况下 select 名称中包含空格的列?
对于带空格的值,您无需执行任何不同的操作。例如,
library(dplyr)
library(rlang)
col_names <- c("cyl","mpg","New Var")
cc <- quos(col_names)
mtcars %>% mutate(`New Var`=1) %>% select(!!!cc)
另请注意,select
也接受字符串名称,因此这也适用:
mtcars%>% mutate(`New Var`=1) %>% select(col_names)
我有一个要查询的数据框。请注意,该数据框的列可能会更改,并且列名具有 spcaes。我有一个要应用于数据框列的函数。我想我可以通过编程找出存在的列,然后使用该列列表将函数应用于存在的列。
当列名没有空格时,我能够弄清楚如何做到这一点:请参阅下面的代码
library(tidyverse)
library(rlang)
col_names <- c("cyl","mpg","New_Var")
cc <- rlang::quos(col_names)
mtcars%>%mutate(New_Var=1)%>%select(!!!cc)
但是当列名有空格时,这个方法就不行了,下面是我使用的代码:
col_names <- c("cyl","mpg","`New Var`")
cc <- rlang::quos(col_names)
mtcars%>%mutate(`New Var`=1)%>%select(!!!cc)
有没有办法在不更改名称的情况下 select 名称中包含空格的列?
对于带空格的值,您无需执行任何不同的操作。例如,
library(dplyr)
library(rlang)
col_names <- c("cyl","mpg","New Var")
cc <- quos(col_names)
mtcars %>% mutate(`New Var`=1) %>% select(!!!cc)
另请注意,select
也接受字符串名称,因此这也适用:
mtcars%>% mutate(`New Var`=1) %>% select(col_names)