修剪数据框列中的前导/尾随空格,其中列名作为变量

Dee*_*eep 3 r trim dataframe

我有一个数据框,其中要修剪空格的列的名称作为变量输入,但我无法解析该变量以将我指向该列以便可以修剪它。

salary <- c(21000, 23400, 26800)
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
employee <- c('   John Doe   ','  Peter  Gynn ','   Jolie  Hope')
employ.data <- data.frame(employee, salary, startdate)
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试修剪employee列,并且尝试了 dplyr:

employ.data %>% mutate(employee = trimws(employee)) 
Run Code Online (Sandbox Code Playgroud)

这有效。但是,如果我说:

abc <- "employee"
Run Code Online (Sandbox Code Playgroud)

进而 employ.data %>% mutate(abc= trimws(abc))

这不起作用。

我尝试过get(abc)在这个函数中使用,但这也不起作用。

我知道我不能使用abcas employ.data$abcwhenabc是变量列名。

初始数据框

employee         salary startdate     
    John Doe     21000  2010-11-01 
   Peter  Gynn   23400  2008-03-25 
    Jolie  Hope  26800  2007-03-14 
Run Code Online (Sandbox Code Playgroud)

最终数据框

employee   salary startdate 
John Doe   21000  2010-11-01
Peter Gynn 23400  2008-03-25
Jolie Hope 26800  2007-03-14
Run Code Online (Sandbox Code Playgroud)

wil*_*031 7

您还可以在 tidyverse 中使用str_trimfrom 。stringr

employ.data %>% 
  mutate(abc = str_trim(employee))
Run Code Online (Sandbox Code Playgroud)

这是:

        employee salary  startdate         abc
1    John Doe     21000 2010-11-01    John Doe
2   Peter  Gynn   23400 2008-03-25 Peter  Gynn
3    Jolie  Hope  26800 2007-03-14 Jolie  Hope
Run Code Online (Sandbox Code Playgroud)