如何在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%)

我意识到这将使它成为字符串,但这对我的最终目的而言不是问题。我编写了一个函数,将列作为带有括号的向量返回。

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

addparentheses (sample_data$percent)

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

我该如何写这样的东西,以便它实际上改变数据框而不仅仅是返回向量?

任何想法和见解都将受到赞赏。谢谢!

解决方法

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

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

或者在基数R

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...