R 自动在表格条目前添加文本

R 自动在表格条目前添加文本,r,data-manipulation,R,Data Manipulation,使用R,我创建了一些伪数据,如下所示: file <-data.frame( "id" = c("1", "2", "3","4", "5","6", "7", "8", "9", "10"), "var_1" = c("A

使用R,我创建了一些伪数据,如下所示:

file <-data.frame(
    
    "id" = c("1", "2", "3","4", "5","6", "7", "8", "9", "10"),
 "var_1" = c("A", "B", "B","A", "B","B", "B", "A", "A", "B"),
 "var_2" = c("AA", "BB", "BB","AA", "BB","BB", "BB", "AA", "AA", "BB")
)
文件您可以使用:

library(dplyr)

file %>% mutate(across(starts_with('var'), ~paste(cur_column(), ., sep = '_')))

#   id   var_1    var_2
#1   1 var_1_A var_2_AA
#2   2 var_1_B var_2_BB
#3   3 var_1_B var_2_BB
#4   4 var_1_A var_2_AA
#5   5 var_1_B var_2_BB
#6   6 var_1_B var_2_BB
#7   7 var_1_B var_2_BB
#8   8 var_1_A var_2_AA
#9   9 var_1_A var_2_AA
#10 10 var_1_B var_2_BB
或在R基中:

file[-1] <- Map(function(x, y) paste(x, y, sep = '_'), file[-1], names(file)[-1])

file[-1]我们可以使用
stru c

library(dplyr)
library(stringr)
file %>%
    mutate(across(starts_with('var'), ~ str_c(cur_column(), ., sep = '_')))

谢谢你@Ronak Shah!我更喜欢您提供的第二种方法-即使变量有不同的名称,这种方法仍然有效!
library(dplyr)
library(stringr)
file %>%
    mutate(across(starts_with('var'), ~ str_c(cur_column(), ., sep = '_')))