r中的人口差异

时间:2016-06-09 18:07:32

标签: r variance

如何使用R?

计算数据的总体方差

我看到有一个名为popvar的软件包,但我的版本为0.99.892而我找不到软件包

4 个答案:

答案 0 :(得分:21)

基数R中的var()函数计算样本方差,种群方差随样本方差的不同而增加n / n - 1因子。所以计算总体方差的另一种方法是var(myVector) * (n - 1) / n,其中n是向量的长度,这是一个例子:

x <- 1:10
var(x) * 9 /10
[1] 8.25

根据人口方差的定义:

sum((x - mean(x))^2) / 10
[1] 8.25 

答案 1 :(得分:3)

您已经有了一个很好的答案,但我想表明您可以轻松地创建自己的便利功能。令人惊讶的是,基数R中没有人口差异/标准差函数。它可以在Excel / Calc和其他软件中使用。拥有这样的功能并不困难。它可以命名为sdpsd.p,也可以sd(x, pop = TRUE)

调用

以下是没有类型检查的人口差异的基本版本:

  x <- 1:10
  varp <- function(x) mean((x-mean(x))^2)
  varp(x)
  ## [1] 8.25

要扩大规模,如果速度有问题,可以使用colSums和/或colMeans(参见:https://rdrr.io/r/base/colSums.html

答案 2 :(得分:2)

您可以在此处找到有关包popvar的详细信息:{{3}} - 您可以使用命令install.packages("PopVar");安装它。请注意,该名称区分大小写(大写字母P,大写字母V)。

答案 3 :(得分:0)

您可以使用以下函数来计算总体方差:

pvar <- function(x) {
  sum((x - mean(x))**2) / length(x)
}

其中x是一个数字矢量,用于保存您的总体数据。例如:

> x <- c(1, 3, 5, 7, 14)
> pvar(x)
[1] 20