r 中的总体方差
Population Variance in r
如何使用 R 计算数据的总体方差?
我读到有一个名为 popvar 的软件包,但我的版本是 0.99.892,但我找不到该软件包
您可以在此处找到软件包 popvar
的详细信息:https://cran.r-project.org/web/packages/PopVar/index.html - 您可以使用命令 install.packages("PopVar");
安装它 注意名称区分大小写(大写 P,大写 V ).
base 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
您已经有了很好的答案,但我想证明您可以轻松地创建自己的便利函数。令人惊讶的是,人口 variance/standard 偏差函数在基础 R
中不可用。它在Excel
/Calc
和其他软件中可用。拥有这样的功能并不难。它可以命名为 sdp
或 sd.p
或用 sd(x, pop = TRUE)
调用
这是没有类型检查的总体方差的基本版本:
x <- 1:10
varp <- function(x) mean((x-mean(x))^2)
varp(x)
## [1] 8.25
要扩大规模,如果速度是个问题,可以使用 colSums and/or colMeans(参见:https://rdrr.io/r/base/colSums.html)
您可以使用以下函数计算总体方差:
pvar <- function(x) {
sum((x - mean(x))**2) / length(x)
}
其中 x
是一个数值向量,用于保存人口数据。例如:
> x <- c(1, 3, 5, 7, 14)
> pvar(x)
[1] 20
如何使用 R 计算数据的总体方差?
我读到有一个名为 popvar 的软件包,但我的版本是 0.99.892,但我找不到该软件包
您可以在此处找到软件包 popvar
的详细信息:https://cran.r-project.org/web/packages/PopVar/index.html - 您可以使用命令 install.packages("PopVar");
安装它 注意名称区分大小写(大写 P,大写 V ).
base 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
您已经有了很好的答案,但我想证明您可以轻松地创建自己的便利函数。令人惊讶的是,人口 variance/standard 偏差函数在基础 R
中不可用。它在Excel
/Calc
和其他软件中可用。拥有这样的功能并不难。它可以命名为 sdp
或 sd.p
或用 sd(x, pop = TRUE)
这是没有类型检查的总体方差的基本版本:
x <- 1:10
varp <- function(x) mean((x-mean(x))^2)
varp(x)
## [1] 8.25
要扩大规模,如果速度是个问题,可以使用 colSums and/or colMeans(参见:https://rdrr.io/r/base/colSums.html)
您可以使用以下函数计算总体方差:
pvar <- function(x) {
sum((x - mean(x))**2) / length(x)
}
其中 x
是一个数值向量,用于保存人口数据。例如:
> x <- c(1, 3, 5, 7, 14)
> pvar(x)
[1] 20