R:如何计算边缘标准差和均值

时间:2017-10-15 04:42:54

标签: r

我正在寻找计算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

你能帮我吗?

3 个答案:

答案 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