如何在 R 中的数据框中为列值添加括号?

How to add parentheses to column values in a data frame in R?

我正在处理敏感数据,因此我创建了一个可以作为示例的假数据框。这就是我们正在处理的问题。

n    percent
4     36%
5     51%
6     61%
7     71%
8     84%
9     96%
10    100%

很简单。我想更改百分比列,以便值在它们周围有括号。所以基本上,我希望数据框看起来像这样:

n  Percent
4   (36%)
5   (51%)
6   (61%)

我意识到这会使它成为一个字符串,但对于我的最终目的来说这不是问题。我编写了一个函数,该函数 return 将列作为带括号的向量。

addparentheses <- function(x){paste("(", x, ")")}

addparentheses (sample_data$percent)

[1] "( 36% )" "( 51% )" "( 61% )" "( 71% )" "( 84% )" "( 96% )" "( 100% )"

我怎样才能写出这样的东西,让它真正改变数据框而不仅仅是 return 一个向量?

非常感谢任何想法和见解。谢谢!!

library(dplyr)
x <- tibble(
  n = 4:10,
  pct = paste0(4:10, "%")
)

x <- x %>%
  mutate(pct = paste0("(", pct, ")"))

或以 R 为基数

x$pct <- paste0("(", x$pct, ")")