R + ggplot - объединить два графика относительной численности, НО сохранить порядок по оси X в алфавитном порядке - PullRequest
0 голосов
/ 06 июня 2018

Я использую R. для построения графика относительного изобилия.

Я импортирую данные из .xlsx, растапливаю их, затем строю два набора данных и объединяю их с ggplot, используя что-то вроде кода ниже.

jengraph.CEC <- ggplot() + 
  geom_bar(aes(y = Percentage, x = Sample, fill = Phyla), 
           data = datamCECMORPH.df, stat="identity") + 
  geom_bar(aes(y = Percentage, x = Sample, fill = Phyla), 
           data = datamCECSEQ.df, stat="identity") + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) + 
  scale_y_continuous(expand = c(0,0)) 

Работает, однако порядок, в котором столбец «sample» не сохраняется и находится в алфавитном порядке.

Я могу использовать функцию коэффициента, чтобы установить порядок для всех примеров, которые я видел, т.е.

datamCECMORPH.df$Sample <-factor(datamCECMORPH.df$Sample, 
   levels=datamCEC.df[order(datamCECMORPH.df$Sample), "Sample"])
...

Так что я могу получить порядок для одного из наборов данных.и может построить это правильно, однако, когда я пытаюсь применить это к обоим наборам данных и построить их вместе, он возвращается к алфавиту.

У кого-нибудь есть идеи?Есть ли в ggplot переопределенный порядок по оси абсцисс?

...