data.frameの共分散を計算する必要がありますが、data.frameの行が1つしかない場合は、NaNの行列を取得します。1行のdata.frameの共分散に対して何をすべきですか?
主な問題は次のとおりです。正規分布からの観測値があります(ええ、時々小さすぎます)尤度関数を最大化するために、平均と共分散行列を計算したい
観測が1つしかない場合、それは可能ですか?
data.frameの共分散を計算する必要がありますが、data.frameの行が1つしかない場合は、NaNの行列を取得します。1行のdata.frameの共分散に対して何をすべきですか?
主な問題は次のとおりです。正規分布からの観測値があります(ええ、時々小さすぎます)尤度関数を最大化するために、平均と共分散行列を計算したい
観測が1つしかない場合、それは可能ですか?
観測値が1つしかない場合、共分散は定義されません。NaN
したがって、の行列は完全に妥当な出力です。
あなたの問題の文脈でこれをどのように処理するのが最善かについては、あなたの問題についてもっと知らずに言うことは不可能です。
あなたのコメントに基づいて、次のことを行います。
データフレームに1行しかないか確認してください。var
行が1つある場合は、関数の代わりにRの関数を使用して分散を見つけcov
ます。複数の行がある場合は、を使用しますcov
。
ベクトルとそれ自体の共分散は、そのベクトルの分散と同じであることに注意してください。
からの抜粋?cov
The denominator n - 1 is used which gives an unbiased estimator of
the (co)variance for i.i.d. observations. These functions return
‘NA’ when there is only one observation (whereas S-PLUS has been
returning ‘NaN’), and fail if ‘x’ has length zero.
n
の代わりに除算する必要がある場合はn-1
、特別な共分散関数を作成することをお勧めします。