在R中数据框中的每个数值前添加字母

在R中数据框中的每个数值前添加字母,r,dataframe,substitution,R,Dataframe,Substitution,我有一个如下所示的数据框: df <- data.frame(a=c(1,1,2,NA,1), b=c(2,3,3,NA,6), c=c(1,NA,1,1,1), d=c(2,2,3,1,1), e=c(1,2,1,2,1)) head(df) a b c d e 1 1 2 1 2 1 2 1 3 NA 2 2 3 2 3 1 3

我有一个如下所示的数据框:

df <- data.frame(a=c(1,1,2,NA,1),
                 b=c(2,3,3,NA,6),
                 c=c(1,NA,1,1,1),
                 d=c(2,2,3,1,1),
                 e=c(1,2,1,2,1))
head(df)
  a  b  c d e
1  1  2  1 2 1
2  1  3 NA 2 2
3  2  3  1 3 1
4 NA NA  1 1 2
5  1  6  1 1 1

df在使用
lapply

df[] <- lapply(df, function(x) ifelse(!is.na(x), paste0("Q", x), x))
df[] <- lapply(df, function(x) ifelse(!is.na(x), paste0("Q", x), x))
df
#     a    b    c  d  e
#1   Q1   Q2   Q1 Q2 Q1
#2   Q1   Q3 <NA> Q2 Q2
#3   Q2   Q3   Q1 Q3 Q1
#4 <NA> <NA>   Q1 Q1 Q2
#5   Q1   Q6   Q1 Q1 Q1
df[!is.na(df)] <-  paste0("Q", df[!is.na(df)])
library(dplyr)
library(stringr)
df %>%
   mutate(across(everything(), 
       ~ case_when(!is.na(.) ~ str_c('Q', .), TRUE ~ NA_character_)))