0

我需要计算 data.frame 的协方差,但如果 data.frame 只有一行,我会得到 NaN 矩阵。我应该怎么做data.frame的协方差与一行?

主要问题是:我有一个来自正态分布的观察结果(是的,有时它太小了)我想计算均值和协方差矩阵以最大化似然函数

如果只有一个观察结果是可能的吗?

4

3 回答 3

0

摘自?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,我建议编写一个特殊的协方差函数。

于 2013-03-26T12:15:22.167 回答
0

如果您只有一个观察值,则未定义协方差。因此,矩阵NaN是完全合理的输出。

至于如何在您的问题的背景下最好地处理这个问题,在不了解您的问题的情况下是不可能说的。

于 2013-03-26T08:24:54.437 回答
0

根据您的评论,执行以下操作:

检查数据框是否只有一行。如果它只有一行,请使用varR 中的函数而不是函数来查找方差cov。如果它有多于一行,请使用cov.

请注意,向量与其自身的协方差与该向量的方差相同。

于 2013-03-26T08:40:53.627 回答