R 中 e1071 包中的峰度计算是否需要 3 个以上的值?

问题描述

使用 e1071 包计算峰度时,如下所示:

x_test <- c(100,98,4)
kurtosis(x_test)

无论我选择哪三个数字,我总是得到 -2.33。 对于 2 个数字,它总是 -2.75。但是,当使用其他方法(例如 Python 中的 pandas)时,我会为我选择的每组值得到不同的峰度。

这是包中的错误还是我使用的包有误? 谢谢!

解决方法

如果您查看函数 ?kurtosis 的手册页,您会发现峰度可以用不同的方式定义。 R 提供了其中的 3 个:

kurtosis(x_test,type=1)
# [1] -1.5
kurtosis(x_test,type=2)
# Error in kurtosis(x_test,type = 2) : 
#   Need at least 4 complete observations.
kurtosis(x_test,type=3)
# [1] -2.333333