Я пытаюсь удалить неиспользованные факторы из многогранного графика. Я рассмотрел множество потенциальных решений, и ни один из них не работает. Я надеюсь на небольшую помощь.Факторы удаления, не используемые в нескольких facet_grid в ggplot2
Этот вопрос был недавно спросил здесь: Removing unused factors from a facet_grid in ggplot2
Но оригинальный плакат не расфасованная свои данные для тех, кто заинтересован в ответе на помощь. Поэтому с тех пор я буду иметь ту же проблему.
dput(df)
structure(list(Study = c("Study 1", "Study 1", "Study 1", "Study 1",
"Study 2", "Study 2", "Study 2", "Study 2", "Study 2", "Study 2"
), Subgroup = c("1", "1", "2", "2", "3", "3", "4", "4", "5",
"5"), q.25. = c(254.850799560547, 161.833641052246, 27.8351449966431,
18.8721599578857, 187.17, 30.74, 973.94, 155.62, 566.7, 296.09
), q.50. = c(645.594482421875, 736.949829101562, 72.1439666748047,
52.3485088348389, 493.04, 84.11, 2164.89, 395.1, 2411.45, 750.5
), q.75. = c(981.924682617188, 1726.68432617188, 247.794635772705,
239.050010681152, 1688.49, 243.02, 3633.31, 737.78, 4396.14,
1565.57), Variable = c("Chemical 1", "Chemical 2", "Chemical 1",
"Chemical 2", "Chemical 1", "Chemical 2", "Chemical 1", "Chemical 2",
"Chemical 1", "Chemical 2")), .Names = c("Study", "Subgroup",
"q.25.", "q.50.", "q.75.", "Variable"), row.names = c(NA, -10L
), class = "data.frame")
Я пытаюсь сделать сюжет, используя этот код:
ggplot(droplevels(df), aes(x = Subgroup, y = q.50., ymin = q.25., ymax = q.75.)) +
facet_grid(Study~ Variable, scales="free", drop = TRUE)+
geom_pointrange(position=position_dodge(width=1), size=1.1)+
ylab("Concentration (ng/g-lipid)")+
ggtitle("")+
scale_y_log10()+
theme(axis.title.y = element_blank(),axis.text.x = element_text(angle = -30, hjust=0), axis.text.y = element_text(colour="grey20",face="bold"))+
coord_flip()
Вот фигура:
Спасибо заранее.
Если вы можете терпеть имея 'Study' быть" X ", тогда' facet_grid (Variable ~ Study, scale = "free", drop = TRUE) 'будет делать это. Причина, по которой обратное не работает (и не может), должна быть очевидной, если вы избавитесь от 'coord_flip'. К сожалению, 'ggplot' не корректирует, как он вычисляет то, что' free' должно делать, если вы включаете 'coord_flip'. – BrodieG