0

一連の観測から得られたガンマ密度関数を観測データのヒストグラムにプロットしたいと思います。ガンマ フィットのヒストグラムとパラメーター推定値を生成できます。これは、マスター データ セットからのデータの複数のサブセットに対して行われています。このループで作成された各ヒストグラムにガンマ密度関数をプロットするにはどうすればよいですか?

私は現在持っています:

library(MASS)

species <- c('acesac', 'acesac', 'acesac', 'acesac', 'acesac', 'acesac',
 'polbif', 'polbif', 'polbif', 'polbif', 'polbif', 'polbif')
tmean <- c(2,3,5,6,6,7,5,6,6,6,8,9) 
Data <- data.frame(species, tmean) 

for (i in unique(Data$species)){
  subdata <- subset(Data, species ==i)
  hist(subdata$tmean, main = i)
  dist <- fitdistr(subdata$tmean, "gamma")
}

を使おうと思っているのですlines()が、指定方法がわかりませんか?

4

1 に答える 1

0

あなたの例に追加library(MASS)します。curveを使って何かをしたいかもしれませんadd = TRUE。別のオプションは、の出力を直接library(fitdistrplus)プロットできるため、を使用することです。distただし、プロットのタイトルを (すばやく) 変更する方法が見つかりませんでした。

library(MASS)
species <- c('acesac', 'acesac', 'acesac', 'acesac', 'acesac', 'acesac',
             'polbif', 'polbif', 'polbif', 'polbif', 'polbif', 'polbif')
tmean <- c(2,3,5,6,6,7,5,6,6,6,8,9) 
Data <- data.frame(species, tmean) 

for (i in unique(Data$species)) {
  subdata <- subset(Data, species ==i)
  dist <- fitdistr(subdata$tmean, "gamma")
  hist(subdata$tmean, main = i)
  curve(dgamma(x, shape = dist$estimate[1], rate = dist$estimate[2]), 
        add = TRUE,
        col = "red")
}

私のコメントによると、library(fitdistrplus)次の出力を参照してください。

library(fitdistrplus)

for (i in unique(Data$species)) {
  subdata <- subset(Data, species ==i)
  dist <- fitdistrplus::fitdist(subdata$tmean, "gamma")
  plot(dist)
}

追加のグラフ (QQ プロット、経験的および理論的 CFS、および PP プロット) が得られ、密度線が「無料」でプロットされていることに注意してください。ただし、追加する機能は失われますmain = i。私より賢い人なら、タイトルを追加したり、fitdistrplus::plot.fitdistメソッドを変更したりする簡単な方法を見つけられると確信しています。別の質問をする価値があるかもしれません。

于 2015-10-09T19:21:44.423 に答える