R语言 合并两列中的字符值,并在两边加上括号

pdkcd3nj  于 2023-04-27  发布在  其他
关注(0)|答案(2)|浏览(133)

我有一个这样的数据集:

code <- "A.123"
name <- "John"
df <- data.frame(code,name)

   code name
1 A.123 John

我尝试将这两列合并,新列如下所示:

code <- "A.123"
name <- "John"
new_column <- "John (A.123)"
df <- data.frame(code,name,new_column)

   code name   new_column
1 A.123 John John (A.123)

我尝试了这段代码,但我不确定如何在这段代码中加入括号:

df <- df%>%
  mutate(new_column = paste(name,code))

我会很感激所有的帮助有!谢谢!!!

ifsvaxew

ifsvaxew1#

base R中使用sprintf

with(df, sprintf("%s (%s)", name, code))
[1] "John (A.123)"

或者使用glue

library(dplyr)
library(glue)
df %>%
   mutate(new_column = glue("{name} ({code})"))
   code name   new_column
1 A.123 John John (A.123)
3htmauhk

3htmauhk2#

在使用paste时,必须将括号括起来。

paste0(df$name, " (", df$code, ")")
#[1] "John (A.123)"

library(dplyr)
df%>%
  mutate(new_column = paste0(name, " (", code, ")"))
#  code name   new_column
#1 A.123 John John (A.123)

相关问题