fitdistr 関数を使用しようとしていますが、ウォークスルー「R による分布の近似」を読んでいます。「ダミーデータ」を使用して概説した例に従うことができますが、この関数で実際のデータを実行しようとすると問題が発生します。常に同じエラーが発生するため、データにヘッダーが存在することが問題の原因であると考えています。たとえば、データ (ヘッダー付きの 2 列) を実行すると、2 列目まで次のようになります。
fitdistr(data$col2,"gamma")
'x' must be a non-empty numeric vector'
ファイルからヘッダーを削除し、すべてのデータ (ビン化されていない) で関数を試してみましたが、同じエラーが発生しました。
次に、ヘッダーを削除して、関数を実行したいデータの列だけをデータ ファイルに含めてみました。これは正しく実行されます。
私のデータでは、2 番目の列が実行に関心のあるものであることに注意してください。しかし、データの最初の列を使用して 2 番目の列を 20 の異なるグループに並べ替えたので、データセットの最初の列が必要です。ヘッダーを簡単に削除して別のコードで fitdistr() を実行できます (これまでヘッダーを使用して列を呼び出してきたため) が、データの 1 列のみでこの関数を実行する方法がわかりません。そのデータは適切にビニングされました。私の最初の本能は、Excel でデータをビン化し、関数を実行する 20 個の異なる 1 列のデータ セットを用意することです。これは面倒に思えるので、データセットをそのまま使用してこの関数を実行する方法に関するヒントは大歓迎です。
ここに要求されたように、私のデータのサンプルは次のとおりです。
> dput(head(Diam_Str))
structure(list(Diameter = c(0.03, 0.05, 0.05, 0.05, 0.05, 0.05
), Strength = c(0.2, 0.2, 1.5, 0.5, 0.6, 0.3)), .Names = c("Diameter",
"Strength"), row.names = c(NA, 6L), class = "data.frame")
したがって、直径のサイズに基づいて 20 のグループがあります。各グループについて、見られる強みの分布を見ています。