R преобразует числовые значения в процентные значения по 'tidyverse way', используя процентов_формат - PullRequest
0 голосов
/ 25 января 2019

У меня есть столбец чисел, который я хочу изменить с счетчика на процент.

Этот код работает:

    df <- df %>% 
  select(casualty_veh_ref, JourneyPurpose ) %>%
  group_by(JourneyPurpose) %>%
  summarise(Number=n()) %>%
mutate(Percentage=Number/sum(Number)*100)

df$Percentage <- paste(round(df$Percentage), "%", sep="")

Но если я попытаюсь сохранить трубопровод с использованием процента_форматаиз пакета весов:

df <- df %>% 
  select(casualty_veh_ref, JourneyPurpose ) %>%
  group_by(JourneyPurpose) %>%
  summarise(Number=n()) %>%
mutate(Percentage=Number/sum(Number))  %>% 
percent_format(Percentage, suffix = "%")

Я получаю сообщение об ошибке

Error in force_all(accuracy, scale, prefix, suffix, big.mark, decimal.mark,  : 
  object 'Percentage' not found

Я не понимаю, почему объект не найден

1 Ответ

0 голосов
/ 25 января 2019

Попробуйте: я использовал радужную оболочку для представления.

library(dplyr)
iris %>% 
  slice(1:4) %>% 
  mutate(Test=Sepal.Length/45,Test=scales::percent(Test)) 

Результат:

Sepal.Length Sepal.Width Petal.Length Petal.Width Species   Test
1          5.1         3.5          1.4         0.2  setosa 11.33%
2          4.9         3.0          1.4         0.2  setosa 10.89%
3          4.7         3.2          1.3         0.2  setosa 10.44%
4          4.6         3.1          1.5         0.2  setosa 10.22%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...