簡體   English   中英

回歸分析(年份和年份)

[英]regression analysis (year and Y)

我的數據如下。

year<-rep(2001:2010,each=100)
Y1<-rnorm(1000)
Y2<-rnorm(1000)
X1<-rnorm(1000) 
X2<-rnorm(1000)

我想按年運行回歸分析。

模型如下

lm(Y1~X1+X2) # 2000
lm(Y1~X1+X2) # 2001
#....
lm(Y1~X1+X2) # 2010
lm(Y2~X1+X2) # 2000
lm(Y2~X1+X2) # 2001
#....
lm(Y2~X1+X2) # 2010

我的數據是從2000年到2013年,分別為Y1,Y2 .... Y1800。

我想一次處理代碼。

我想寫每個模型的調整后R平方和殘差(平方)的總和。

您會以其他方式組織它嗎?

year<-rep(2001:2010,each=100)
d <- data.frame(year = rep(2001:2010,each=100, times = 10), yval = rnorm(10000),
                xval1 = rnorm(10000),
                xval2 = rnorm(10000),
                y = rep(paste('y',1:10), each = 100, times = 10))
head(d)

  year       yval      xval1       xval2   y
1 2001 -0.9317559  0.6435350  0.29772839 y 1
2 2001  1.0659423 -0.9244871  1.59511267 y 1
3 2001  0.5304943 -1.7047387  2.67113367 y 1
4 2001 -0.5401647  0.2125337  0.06930514 y 1
5 2001  0.8132301 -1.2269802  0.45345832 y 1
6 2001  0.8256614 -1.6228756 -0.30481758 y 1   


ddply(d, .(year, y), summarise, intercept=lm(yval~xval1+xval2)$coefficients[1],
      adj.r.sq = summary(lm(yval~xval1+xval2))$adj.r.sq)

   year    y    intercept      adj.r.sq
1  2001  y 1 -0.027267374  0.0006350922
2  2002  y 2 -0.007104610  0.0035883522
3  2003  y 3  0.015234001 -0.0008837168
4  2004  y 4  0.010327471 -0.0013589311
5  2005  y 5  0.059149459  0.0012124013
6  2006  y 6  0.086763752  0.0001895389
7  2007  y 7  0.044359016 -0.0019987028
8  2008  y 8  0.005336840 -0.0015952540
9  2009  y 9 -0.025781738  0.0023403859
10 2010 y 10 -0.005402567 -0.0014873828

對於每年的部分,我將使用dplyr

library(dplyr)
df = data.frame(year, X1, Y1, X2, Y2)
get_adj_r_sq = function(dat) {
    summary(lm(Y2~X1+X2, data = dat))$adj.r.sq
}
df_grouped = group_by(df, year)
adj_rsq_vector = do(df_grouped, get_adj_r_sq)
data.frame(adj_r_sq = as.numeric(adj_rsq_vector), year = unique(df_grouped$year))
       adj_r_sq year
1   0.046308199 2001
2  -0.005116814 2002
3  -0.018591583 2003
4  -0.014183950 2004
5  -0.003552023 2005
6   0.011221766 2006
7  -0.003398615 2007
8   0.004806429 2008
9   0.030205402 2009
10 -0.013241886 2010

暫無
暫無

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

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