パネルデータ、被験者の時間経過による特徴を含むデータフレームを取得しました。科目ごとに 1 から最大年数までのシーケンスを持つ列を作成する必要があります。たとえば、サブジェクト 1 が 2000 年から 2005 年までのデータ フレームにある場合、1、2、3、4、5、6 というシーケンスが必要です。
以下は私のデータのごく一部です。最後の列 ( exp
) は、取得しようとしているものです。さらに、最初の件名 ( 13
) を見ると、2008 年には qtty の値がゼロであることがわかります。この場合、NA
またはコード ( 0
、1
、-9999
) だけが必要です。どちらでもかまいません。
データの下にあるのは、そのベクトルを取得するために行ったことですが、うまくいきませんでした。
どんな助けでも大歓迎です。
subject season qtty exp
13 2000 29 1
13 2001 29 2
13 2002 29 3
13 2003 29 4
13 2004 29 5
13 2005 27 6
13 2006 27 7
13 2007 27 8
13 2008 0 NA
28 2000 18 1
28 2001 18 2
28 2002 18 3
28 2003 18 4
28 2004 18 5
28 2005 18 6
28 2006 18 7
28 2007 18 8
28 2008 18 9
28 2009 20 10
28 2010 20 11
28 2011 20 12
28 2012 20 13
35 2000 21 1
35 2001 21 2
35 2002 21 3
35 2003 21 4
35 2004 21 5
35 2005 21 6
35 2006 21 7
35 2007 21 8
35 2008 21 9
35 2009 14 10
35 2010 11 11
35 2011 11 12
35 2012 10 13
私のコード:
numbY<-aggregate(season ~ subject, data = toCountY,length)
colnames(numbY)<-c("subject","inFish")
toCountY$inFish<-numbY$inFish[match(toCountY$subject,numbY$subject)]
numbYbyFisher<-unique(numbY)
seqY<-aggregate(numbYbyFisher$inFish, by=list(numbYbyFisher$subject), function(x)seq(1,x,1))