Я выполняю мутацию на фрейме данных, используя dplyr group_by, а затем трансмутирую. Как предотвратить сообщение «Добавление отсутствующих переменных группировки: gender
»?
Воспроизводимый пример:
library(tidyverse)
df <- data.frame(gender = rep(c("M", "F"), 10), score = rnorm(10, 5, 2))
df %>%
group_by(gender) %>%
transmute(rank = rank(score), score = score) %>% arrange(score)
# Adding missing grouping variables: `gender`
# A tibble: 20 x 2
# Groups: gender [2]
gender rank
<fct> <dbl>
1 M 9.50
2 F 1.50
3 M 7.50
4 F 3.50
5 M 3.50
6 F 5.50
7 M 1.50
8 F 7.50
9 M 5.50
10 F 9.50
11 M 9.50
12 F 1.50
13 M 7.50
14 F 3.50
15 M 3.50
16 F 5.50
17 M 1.50
18 F 7.50
19 M 5.50
20 F 9.50
df %>%
group_by(gender) %>%
transmute(gender, rank = rank(score))
# Error in mutate_impl(.data, dots) :
# Column `gender` can't be modified because it's a grouping variable
Этот код является частью более крупного приложения Shiny. Я знаю, что могу предотвратить сообщение, используя «suppressMessages ()», но я ищу более конкретное решение.
Редактировать: R версия 3.3.2
dplyr_0.7.4
Не по теме: я уже довольно давно использую stackoverflow в качестве читателя, но это мой первый вопрос. Надеюсь, что это соответствует правилам.