Я знаю, что предпочтительно, чтобы имена переменных не содержали пробелов. У меня есть ситуация, когда мне нужны диаграммы качества публикации, поэтому в осях и легендах должны быть правильно отформатированные метки, т.е. С пробелами. Так, например, в разработке у меня могут быть переменные, называемые "Pct.On.OAC" и Age.Group, но в моем последнем сюжете мне нужно "% on OAC" и "Age Group":
'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 ...
Но когда я пытаюсь построить их:
ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar()
)
нет проблем с этим. Но когда я добавляю грань:
ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar() +
facet_grid(`Age Group`~ .)
Я получаю Error in
[. data.frame (base, names(rows)) : undefined columns selected
Если я изменяю Age Group
на Age.Group
, тогда он работает нормально, но, как я уже сказал, я не хочу, чтобы точка отображалась в легенде названия.
Итак, мои вопросы:
- Есть ли способ обхода проблемы с гранью?
- Есть ли лучший общий подход к решению проблемы пространств (и других символов) в именах переменных, когда я хочу, чтобы последний график включал их? Полагаю, я могу вручную их переоценить, но это похоже на много неприятностей.