Добавьте «%» к кадру процентного содержания столбца в R - PullRequest
2 голосов
/ 06 мая 2019

У меня есть данные в процентах.Я хочу добавить «%» в конце каждой ячейки, чтобы я мог экспортировать / отобразить их правильно.Это выглядит примерно так:

    c1   c2
r1  2.1  3.5
r2  3.4  4.5

Я хотел бы иметь:

    c1    c2
r1  2.1%  3.5%
r2  3.4%  4.5%

Мне не нужен вывод, чтобы быть конкретным кадром данных, просто что-то, что сохранит столбец иимена строк.

Ответы [ 2 ]

2 голосов
/ 06 мая 2019

Для большего контроля над форматом рассмотрите sprintf() с опцией форматирования %%:

# One more column of values
  df <- as.data.frame(rbind(c(2.1, 3.5, 2), c(3.4, 4.5, 1/3)))
  dimnames(df) <- list(paste0("c", 1:2), paste0("r", 1:3))

# Compare these two approaches:
  as.data.frame(lapply(df, paste0, "%"))
  as.data.frame(lapply(df, function(x) sprintf("%3.1f%%", x)))

1 голос
/ 06 мая 2019

Наиболее простой подход, вероятно,

df[] <- paste0(as.matrix(dataframe), "%")

Мы могли бы также использовать apply,

df[] <- apply(df, 1, function(x) paste0(x, "%"))

Альтернативой является использование mutate_all из dplyr,

library(dplyr)
dataframe %>% 
     mutate_all(list(~paste0(., "%")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...