簡體   English   中英

如何計算R中的變化率、置信區域和p值?

[英]How to calculate the rate of change, confidence region and p-Value in R?

我需要一些 R 代碼的幫助。 我必須計算每年的變化率、置信區域和 p 值。 下面你會看到我到目前為止所做的嘗試。

在下一行中,您可以看到我的數據來源。我為北半球選擇了 3 月和 9 月。

ftp://sidads.colorado.edu/DATASETS/NOAA/G02135/

我試圖從這里調整代碼: 計算變化率

df <- data.frame(year=years, area=area03)
dt <- as.data.table(df)

# This return NA for every value
dt[ , .(area, change=100*(area - shift(area,1))/shift(area,1)), by=year]

# The table
    year  area change
 1: 1979 13.21     NA
 2: 1980 12.99     NA
 3: 1981 12.71     NA
 4: 1982 13.07     NA
 5: 1983 12.93     NA
 6: 1984 12.55     NA
 7: 1985 12.75     NA
 8: 1986 12.72     NA
 9: 1987 12.83     NA
10: 1988 13.90     NA
11: 1989 13.21     NA
12: 1990 13.51     NA
13: 1991 13.42     NA
14: 1992 13.48     NA
15: 1993 13.77     NA
16: 1994 13.55     NA
17: 1995 13.34     NA
18: 1996 12.90     NA
19: 1997 13.30     NA
20: 1998 13.57     NA
21: 1999 13.54     NA
22: 2000 13.17     NA
23: 2001 13.64     NA
24: 2002 13.42     NA
25: 2003 13.42     NA
26: 2004 12.99     NA
27: 2005 12.74     NA
28: 2006 12.52     NA
29: 2007 12.56     NA
30: 2008 13.53     NA
31: 2009 13.43     NA
32: 2010 13.53     NA
33: 2011 12.83     NA
34: 2012 13.41     NA
35: 2013 13.45     NA
36: 2014 12.95     NA
37: 2015 12.78     NA
38: 2016 12.61     NA
39: 2017 12.61     NA
40: 2018 12.69     NA
41: 2019 12.89     NA
42: 2020 12.97     NA
    year  area change

這將計算上一年的百分比變化並將其放在變化列中。

text="id year  area change
1: 1979 13.21     NA
2: 1980 12.99     NA
3: 1981 12.71     NA
4: 1982 13.07     NA
5: 1983 12.93     NA
6: 1984 12.55     NA
7: 1985 12.75     NA
8: 1986 12.72     NA
9: 1987 12.83     NA
10: 1988 13.90     NA
11: 1989 13.21     NA
12: 1990 13.51     NA
13: 1991 13.42     NA
14: 1992 13.48     NA
15: 1993 13.77     NA
16: 1994 13.55     NA
17: 1995 13.34     NA
18: 1996 12.90     NA
19: 1997 13.30     NA
20: 1998 13.57     NA
21: 1999 13.54     NA
22: 2000 13.17     NA
23: 2001 13.64     NA
24: 2002 13.42     NA
25: 2003 13.42     NA
26: 2004 12.99     NA
27: 2005 12.74     NA
28: 2006 12.52     NA
29: 2007 12.56     NA
30: 2008 13.53     NA
31: 2009 13.43     NA
32: 2010 13.53     NA
33: 2011 12.83     NA
34: 2012 13.41     NA
35: 2013 13.45     NA
36: 2014 12.95     NA
37: 2015 12.78     NA
38: 2016 12.61     NA
39: 2017 12.61     NA
40: 2018 12.69     NA
41: 2019 12.89     NA
42: 2020 12.97     NA"
df=read.table(text=text, header=TRUE)
chg=c(NA)
for (i in 2:nrow(df)) {
  chg=c(chg, 100*(df$area[i]-df$area[i-1])/df$area[i-1])
}
library(dplyr)
df=mutate(df, change=chg)

df
    id year  area     change
1   1: 1979 13.21         NA
2   2: 1980 12.99 -1.6654050
3   3: 1981 12.71 -2.1555042
4   4: 1982 13.07  2.8324154
5   5: 1983 12.93 -1.0711553
6   6: 1984 12.55 -2.9389018
7   7: 1985 12.75  1.5936255
8   8: 1986 12.72 -0.2352941
9   9: 1987 12.83  0.8647799
10 10: 1988 13.90  8.3398285
11 11: 1989 13.21 -4.9640288
12 12: 1990 13.51  2.2710068
13 13: 1991 13.42 -0.6661732
14 14: 1992 13.48  0.4470939
15 15: 1993 13.77  2.1513353
16 16: 1994 13.55 -1.5976761
17 17: 1995 13.34 -1.5498155
18 18: 1996 12.90 -3.2983508
19 19: 1997 13.30  3.1007752
20 20: 1998 13.57  2.0300752
21 21: 1999 13.54 -0.2210759
22 22: 2000 13.17 -2.7326440
23 23: 2001 13.64  3.5687168
24 24: 2002 13.42 -1.6129032
25 25: 2003 13.42  0.0000000
26 26: 2004 12.99 -3.2041729
27 27: 2005 12.74 -1.9245574
28 28: 2006 12.52 -1.7268446
29 29: 2007 12.56  0.3194888
30 30: 2008 13.53  7.7229299
31 31: 2009 13.43 -0.7390983
32 32: 2010 13.53  0.7446016
33 33: 2011 12.83 -5.1736881
34 34: 2012 13.41  4.5206547
35 35: 2013 13.45  0.2982849
36 36: 2014 12.95 -3.7174721
37 37: 2015 12.78 -1.3127413
38 38: 2016 12.61 -1.3302034
39 39: 2017 12.61  0.0000000
40 40: 2018 12.69  0.6344171
41 41: 2019 12.89  1.5760441
42 42: 2020 12.97  0.6206362

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM