Как добавить круглые скобки к значениям столбцов во фрейме данных в 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% )"

Как я могу написать что-то подобное, чтобы оно действительно изменяло фрейм данных, а не просто возвращало вектор?

Мы очень ценим любые идеи и идеи. Спасибо!!


person Rachel Ward    schedule 01.10.2020    source источник
comment
Почему не sample_data$percent <- addparentheses(sample_data$percent)?   -  person stefan    schedule 01.10.2020


Ответы (1)


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

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

Или в базе R

x$pct <- paste0("(", x$pct, ")")
person ciakovx    schedule 03.10.2020