Wiem, że jest preferowane, jeśli nazwy zmiennych nie zawierają spacji. Mam sytuację, w której potrzebuję wykresów jakości publikacji, więc osie i legendy muszą mieć odpowiednio sformatowane etykiety, np. Ze spacjami. Tak więc, na przykład, w rozwoju mógłbym zmienne nazywane „Pct.On.OAC” i Age.Group, ale w moim ostatnim działce muszę „% na OAC” i „grupa wiekowa” pojawiać:Jak radzić sobie ze spacjami w nazwach kolumn?
'data.frame': 22 obs. of 3 variables:
$ % on OAC : Factor w/ 11 levels "0","0.1-9.9",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Age Group : Factor w/ 2 levels "Aged 80 and over",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Number of Practices: int 47 5 33 98 287 543 516 222 67 14 ...
Ale kiedy próbuję wykreślić te:
ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar()
)
nie ma problemu z tym. Ale kiedy dodać aspekt:
ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar() +
facet_grid(`Age Group`~ .)
uzyskać Error in
[.data.frame (base, names(rows)) : undefined columns selected
Jeśli zmienię Age Group
do Age.Group
to działa dobrze, ale jak już mówiłem, nie chcę kropkę pojawiać się w tytułowej legendzie.
Więc moje pytania to:
- Czy istnieje obejście problemu z aspektu?
- Czy istnieje lepsze ogólne podejście do rozwiązywania problemu spacji (i innych znaków) w nazwach zmiennych, gdy chcę, aby ostateczny wątek obejmował je? Przypuszczam, że mogę je ręcznie pokonać, ale wygląda na to, że dużo się dzieje.
Używaj scale_fill (name = "grupa wiekowa") lub podobny. – mnel
@miel przepraszam, nie podążyłem za tobą - jak to rozwiązuje problem z facet_grid? Używam 'scale_fill (name =" Age Group ")' _instead_? –