2
我使用繪製一些分佈:取平均geom_density(Y = ..計數..)在分組變量
geom_density(aes(my.variable,
color=my.factor,
group=my.replicates,
y=..count..))
我要繪製在重複的平均值行(對於my.factor的每個水平一行),考慮到我沒有在my.factor的每個級別中重複的次數相同 - >我不能刪除'group'參數,因爲..count ..取決於重複次數。因此,我要喜歡的東西等..count ../重複的數目
這裏是上下文和可再現爲例
我在第2個生境(a和b)採樣:每個單獨的魚數量和身體大小。 我在棲息地之間採取了不同的取樣工作。 (ra和rb是在棲息地a和b內採樣的重複次數,分別) 我對棲息地之間在魚類丰度和體型上的平均差異感興趣。但是,我不知道如何處理這個事實,即我沒有相同數量的複製品。
DATA
#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)
PLOTS
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..))
從這個最後的情節,如何在獲得平均線複製? 謝謝
非常感謝你,這是非常好的。不過,我認爲你必須做一些小修改。您將'平均數'計算爲'平均密度'x'觀測總數(即nrow(dat))。它應該是'平均密度'x'平均觀測數量',它是nrow(dat)/ nlevels(droplevels(dat $ replicat)) – Pierre
我試着用我的修改代碼,它工作正常。我爲每個棲息地生成具有不同重複次數(例如,ra = 5; rb = 10)的數據,但是來自相同分佈(例如na = nb = 60; sa = sb = 90)。平均線與預期完全一樣。再次感謝。 – Pierre
關於如何測試棲息地之間「平均分佈」差異的任何想法?我目前只看到(1)kolmogorov-Smirnov關於重複數據集中的數據,或者(2)Kruskall Wallis比較中值大小。對不起,這個問題不是在正確的地方,而是在上下文中。 – Pierre