Поскольку мне еще не разрешено комментировать сообщения, я публикую это отдельно как дополнение к ответу Винса и ответу son520804 .Кредит идет на них.
Son520804:
с использованием данных Iris:
Я предполагаю:
Вы установили пакет dplyr, который имеет удобное преобразованиекоманда, и ваш набор данных называется опросом.survey %>% mutate(Hosp1 = Hospital1, Hosp2 = Hospital2,........)
Эта команда помогает вам переименовывать столбцы, но все остальные столбцы сохраняются.Затем сделайте то же самое facet_wrap, теперь вы в порядке.
Используя пример ириса Винса и частичный код son520804, я сделал это с помощью функции mutate и нашел простое решение, не касаясь исходного набора данных.,Хитрость заключается в создании резервного имени вектора и использовании mutate () внутри канала для временной коррекции имен фасетов:
i <- iris
levels(i$Species)
[1] "setosa" "versicolor" "virginica"
new_names <- c(
rep("Bristle-pointed iris", 50),
rep("Poison flag iris",50),
rep("Virginia iris", 50))
i %>% mutate(Species=new_names) %>%
ggplot(aes(Petal.Length))+
stat_bin()+
facet_grid(Species ~ .)
В этом примере вы можете видеть, что уровни i $ Species временно изменяютсясоответствующим общим именам, содержащимся в векторе new_names.Строка, содержащая
mutate(Species=new_names) %>%
, может быть легко удалена для раскрытия исходного имени.
Предупреждение: Это может легко привести к ошибкам в именах, если вектор new_name имеетне правильно настроен.Вероятно, было бы намного понятнее использовать отдельную функцию для замены переменных строк.Имейте в виду, что вектор new_name может потребоваться повторять различными способами, чтобы соответствовать порядку вашего исходного набора данных.Пожалуйста, дважды и трижды проверьте, что это правильно достигнуто.