1

1970年に開始したデータをループするforループをrに書き込もうとしています。データに毎年反復を入れてデータを保存するために、何年にもわたってループしたいと思います(投票シェア、ベクトル内の現職ステータスなど)。明らかに、私のデータは1970年に始まったので、1970年未満の値は必要ありませんが、以下のスクリプトは、場所1〜16で0、場所17〜1969でNAのベクトルを生成し、意図されたものであると信じています1970年から2000年までの偶数年の統計と奇数年のNA。必要な値だけを返すようにするにはどうすればよいですか(1970〜2000年でも)。また、位置1〜16の0の値はどうなっているのでしょうか。

incumb.dataは、投票シェア、現職ステータス、年別および州別の選挙結果を含むデータフレームです。

\脚本:

J<-seq(1970, 2000,2)
inc.fx1<-vector(length=length(J))
year.df1<-vector(length=length(J))

for (j in 1970:J){
  state.hold<-incumb.data[StateNumb3==26,]
  yr.hold<-state.hold[state.hold$V6==j,]

  St28.df<-data.frame(year=yr.hold$V6, 
                      v_1=yr.hold$v_1, v_2=yr.hold$v_2,
                      I1=yr.hold$I1, I2=yr.hold$I2,
                      P2=yr.hold$P2)

  St28.lm<-lm(v_2~v_1+I2+P2, data=St28.df)
  inc.fx1[j]<-coef(St28.lm)[3]
  year.df1[j]<-St28.df$year
}

\endスクリプト

だから私はinc.fx1が1970年から2000年までの偶数年の計算された統計を保持することを望みます。助けてくれてありがとう。

BG

4

1 に答える 1

2

Jはベクトルであり、直接反復することができます。

これを置き換えます(警告が表示されます):

for (j in 1970:J){   # ...

これとともに:

for (j in J){   # ...
于 2012-12-09T01:17:32.513 に答える