【发布时间】:2023-03-05 13:22:01
【问题描述】:
有人知道如何复制data.frame 中的列并为新列添加前缀吗?
我们的想法是拥有一个包含数据帧的某些列名的字符向量,并使用前缀复制这些列名,以便随后执行操作。
原因是我想在这些列上使用扩展函数,但据我所知,扩展函数不会保留原始列。我想要什么:
来自具有以下列名称的 data.frame:
column_names <- c('var1', 'var2', 'var3')
到具有以下列的数据框
column_names <- c('var1', 'var2', 'var3', 'prefix_var1','prefix_var3')
带有“前缀”的列包含与其原始列相同的数据。
到目前为止我已经尝试过,其中部分成功了:
sel_columns <- c('var1', 'var3')
data <- data.frame(var1 = c(12,3,4), var2 = c(123,5435,121), var3 = c(23,456,123))
new_data <- data %>% mutate_at(one_of(sel_columns), funs(.))
#Error in eval(substitute(expr), envir, enclos) :
# could not find function "var1"
#In addition: Warning message:
#In one_of(sel_columns) : Unknown variables: `var1`, `var3`
new_data2 <- data %>% select(one_of(sel_columns)) %>% mutate_all(funs(prefix = . * 1)) %>% c(data, .) %>% data.frame
【问题讨论】:
标签: r copy dplyr multiple-columns prefix