2017-10-15 147 views
-7

我一直在尋找的步驟來計算R A人口的標準偏差,我發現這一點:R:如何計算poblational標準偏差和平均

sqrt((n-1)/n) * sd(x) # pop 
    ## [1] 0.8936971 

    sd(x) # sample 
    ## [1] 0.8981994 

的問題是,I'm完全喪失不知道如何推算公式我的數據:

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

爲什麼你認爲你有你的數據有問題? –

+2

我不明白你的問題是什麼意思?你已經添加了公式,並且你不能將它用於你的數據! – Alice

+0

我非常懷疑標準差的概念適用於你的情況,似乎你需要一個線性模型,比如'fit < - lm(GDP〜YEAR);情節(年份,GDP); abline(fit,col =「red」)'。 –

回答

2

這是你想要的嗎?

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 
3

您可以將數據存儲在數據幀df

然後使用

sd(df$GDP) 
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