Я пытаюсь получить сетку фасетов моего фрейма данных.
Цель состоит в том, чтобы суммировать состав (в процентах) каждого клада (A, B, C, D, E,F) для каждого индивида (n = 24).
Также сумма каждой клады не 100%, но в конечном итоге очень близка к ней.Никто из людей не получил Клаву B или F.
Вот мой сценарий R:
library(scales)
library(reshape)
library(ggplot2)
#Add an id variable for the filled regions
X_clade$ind <- factor(X_clade$ind)
X_clade$days <- factor(X_clade$days)
X_clade$temperature <- factor(X_clade$temperature)
X_clade$D <- NULL
Clade <- c(X_clade$A, X_clade$B, X_clade$C, X_clade$E, X_clade$F)
Abundance= 100*cumsum(Clade)/sum(Clade)
str(X_clade)
Abundance
hist(Clade$A)
#subset
file.29<-X_clade[(X_clade$days == 29),]
file.65<-X_clade[(X_clade$days == 65),]
file.53<-X_clade[(X_clade$days == 53),]
#install.packages("wesanderson")
library(wesanderson)
plot_bar(X_clade)
file.29$B <- NULL
file.29$F <- NULL
seq(0.1,1,by=0.1)
p1<-ggplot(file.29,aes(x = ind, y=Abundance,fill = Clade)) +
geom_bar(position = "fill",stat = "identity") +
scale_y_continuous(labels = percent_format()) +
theme(panel.background = element_blank(),
panel.border=element_rect(fill=NA),
panel.grid.minor = element_blank(),
axis.text.x=element_text(colour="black",size=11),
axis.text.y=element_text(colour="black",size=11),
axis.title =element_blank()) + guides(fill=FALSE) +
facet_grid(days~temperature,scales="free_x")
p1
p_1M=ggplot(file.29,aes(x = ind, y=Abundance,fill = Clade))
p_1M
p2<-ggplot(file.53,aes(x = ind, y=Abundance,fill = Clade)) +
geom_bar(position = "fill",stat = "identity") +
scale_y_continuous(labels = percent_format()) +
theme(panel.background = element_blank(),
panel.border=element_rect(fill=NA),
panel.grid.minor = element_blank(),
strip.text.x = element_blank(),
axis.text.x=element_text(colour="black",size=11),
axis.text.y=element_text(colour="black",size=11),
axis.title =element_blank()) +guides(fill=FALSE) +
facet_grid(days~temperature,scales="free_x")
p2
p3<-ggplot(file.65,aes(x = ind, y=Abundance,fill = Clade)) +
geom_bar(position = "fill",stat = "identity") +
scale_y_continuous(labels = percent_format()) +
theme(panel.background = element_blank(),
panel.border=element_rect(fill=NA),
panel.grid.minor = element_blank(),
strip.text.x = element_blank(),
axis.text.x=element_text(colour="black",size=11),
axis.text.y=element_text(colour="black",size=11),
axis.title =element_blank()) + guides(fill=FALSE) +
facet_grid(days~temperature,scales="free_x")
p3
library(gridExtra)
grid.arrange(p1, p2, p3, nrow=3)
, но для каждого участка (p1, p2, p3) я получаю одно и то же сообщение об ошибке:Ошибка: Эстетика должна иметь длину 1 или совпадать с данными (8): x, y, fill.
Любое понимание того, как решить эту проблему, было бы прекрасно!Как я уверен, я не далеко от этого.Но все же, весь путь застрял!
Все возможное
Homère