Я рисую некоторые распределения, используя:
geom_density(aes(my.variable,
color=my.factor,
group=my.replicates,
y=..count..))
Я хочу построить средние линии по репликам (одна строка для каждого уровня my.factor), учитывая, что у меня не одинаковое количество реплик на каждом уровне my.factor --> я не могу просто удалить аргумент 'group', так как ..count.. зависит от количества повторений. Поэтому я хотел бы что-то вроде ..count../количество повторений
Вот контекст и воспроизводимый пример
Я отбирал пробы в 2 местообитаниях (а и б): количество рыб и размер тела каждой особи. У меня были разные попытки отбора проб между местами обитания. (ra и rb — количество повторностей, отобранных в местообитаниях a и b соответственно) Меня интересуют средние различия между местообитаниями как по численности рыбы, так и по размеру тела. Однако я не знаю, как быть с тем фактом, что у меня нет такого же количества реплик.
ДАННЫЕ
#number of replicat
ra=4;rb=6
#number of individuals (lambda of poisson distribution)
na=30;nb=60
#size of individuals (lambda of poisson distribution)
sa=90;sb=80
#data for habitat a
dfa=data.frame()
for (ri in 1:ra){
habitat="a"
nb_rep=ra
replicat=paste("r",ri,sep="")
size=rpois(rpois(1,na),sa)
dfa=rbind.data.frame(dfa,data.frame(habitat,nb_rep,replicat,size))
}
#data for habitat b
dfb=data.frame()
for (ri in 1:rb){
habitat="b"
nb_rep=rb
replicat=paste("r",ri,sep="")
size=rpois(rpois(1,nb),sb)
dfb=rbind.data.frame(dfb,data.frame(habitat,nb_rep,replicat,size))
}
#whole data set
df=rbind(dfa,dfb)
УЧАСТКИ
require(ggplot2)
summary(df)
плотность
ggplot(df,aes(size,color=habitat))+
geom_density(aes(y=..density..))
считать
ggplot(df,aes(size,color=habitat))+
geom_density(aes(y=..count..))
Но это НЕОБЯЗАТЕЛЬНО, если образцы местообитаний не были отобраны с одинаковыми усилиями, то есть с разным количеством повторений.
подсчет, учитывая разные повторы
ggplot(df,aes(size,color=habitat,group=paste(habitat,replicat)))+
geom_density(aes(y=..count..))
Из этого последнего графика, как получить средние линии по повторениям? Спасибо