我正在寻找计算R中人口标准差的步骤,我发现了这个:
sqrt((n-1)/n) * sd(x) # pop
## [1] 0.8936971
sd(x) # sample
## [1] 0.8981994
问题在于我完全迷失了,不知道如何将公式推断为我的数据:
YEAR
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
GDP
7696034.9
8690254.3
9424601.9
10520792.8
11399472.2
12256863.6
12072541.6
13266857.9
14527336.9
15599270.7
16078959.8
你能帮我吗?
答案 0 :(得分:1)
您可以将数据存储在数据框df
然后使用
sd(df$GDP)
答案 1 :(得分:1)
这是你想要的吗?
y <- c(2003, 2004, 2005, 2006, 2007,2008,2009,2010, 2011,2012,2013)
> n <- length(y)
> sqrt((n-1)/n)*sd(y)
[1] 3.162278
> GDP <- c( 7696034.9, 8690254.3, 9424601.9, 10520792.8, 11399472.2,12256863.6,12072541.6,13266857.9,14527336.9,15599270.7,16078959.8)
> m <- length(GDP)
> sqrt((m-1)/m)*sd(GDP)
[1] 2633634
答案 2 :(得分:1)
试试这个:
My_list <- list(YEAR, GDP)
my_sd <- sapply(My_list, function (x) sd(x))
my_sd
[1] 3.316625e+00 2.762179e+06
也可以使用:
> My_sd_pop <- sapply(My_list, function (x) {sqrt((length(x)-1) /length(x)) * sd(x)})
> My_sd_pop
[1] 3.162278e+00 2.633634e+06