[R] Constructing dummy variables for months for a time series object

2008-04-25 Thread Megh Dal
I have a TS of monthly observations. 
   
  head(data4)
 1991(1)  1991(2)  1991(3)  1991(4)  1991(5)  1991(6) 
12.00864 11.94203 11.98386 12.01900 12.19226 12.15488 

  Now I want to make 11 dummy variables indicating months. Therefore I did 
followings :
   
  For Jan :
  rep(c(rep(0,0), 1, rep(0, 11)), 17)
   
  For Feb :
  rep(c(rep(0,1), 1, rep(0, 10)), 17)
   
   and so on
   
  But my question is there any way to aumate this? Or I have to do the above 
thing for all 11 months?

   
-
[[elided Yahoo spam]]
[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Constructing dummy variables for months for a time series object

2008-04-25 Thread N. Lapidus
 GenDummyVar - function (NumMonth) rep(c(rep(0, NumMonth-1), 1, rep(0,
12-NumMonth)), 17)
 NameDummy - c(DJan, DFeb, DMar, DApr, DMay, DJun, DJul,
DAug, DSep, DOct, DNov, DDec)
 for (NumMonth in 1:12) assign(NameDummy, GenDummyVar (NumMonth))

 DJan
  [1] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
 [74] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
[147] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
 DFeb
  [1] 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
 [74] 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
[147] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

Is this what you need ?
Why 11 (and not 12) months ?
Nael


On Fri, Apr 25, 2008 at 9:40 AM, Megh Dal [EMAIL PROTECTED] wrote:

 I have a TS of monthly observations.

  head(data4)
  1991(1)  1991(2)  1991(3)  1991(4)  1991(5)  1991(6)
 12.00864 11.94203 11.98386 12.01900 12.19226 12.15488

  Now I want to make 11 dummy variables indicating months. Therefore I did
 followings :

  For Jan :
  rep(c(rep(0,0), 1, rep(0, 11)), 17)

  For Feb :
  rep(c(rep(0,1), 1, rep(0, 10)), 17)

   and so on

  But my question is there any way to aumate this? Or I have to do the above
 thing for all 11 months?


 -
 [[elided Yahoo spam]]
[[alternative HTML version deleted]]

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide
 http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.


[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Constructing dummy variables for months for a time series object

2008-04-25 Thread N. Lapidus
Oops.. the last line should have been :
for (NumMonth in 1:12) assign(NameDummy[NumMonth], GenDummyVar (NumMonth))

On Fri, Apr 25, 2008 at 10:18 AM, N. Lapidus [EMAIL PROTECTED] wrote:

  GenDummyVar - function (NumMonth) rep(c(rep(0, NumMonth-1), 1, rep(0,
 12-NumMonth)), 17)
  NameDummy - c(DJan, DFeb, DMar, DApr, DMay, DJun, DJul,
 DAug, DSep, DOct, DNov, DDec)
  for (NumMonth in 1:12) assign(NameDummy, GenDummyVar (NumMonth))

  DJan
   [1] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
  [74] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
 [147] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
  DFeb
   [1] 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
  [74] 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
 [147] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

 Is this what you need ?
 Why 11 (and not 12) months ?
 Nael



 On Fri, Apr 25, 2008 at 9:40 AM, Megh Dal [EMAIL PROTECTED] wrote:

 I have a TS of monthly observations.

  head(data4)
  1991(1)  1991(2)  1991(3)  1991(4)  1991(5)  1991(6)
 12.00864 11.94203 11.98386 12.01900 12.19226 12.15488

  Now I want to make 11 dummy variables indicating months. Therefore I did
 followings :

  For Jan :
  rep(c(rep(0,0), 1, rep(0, 11)), 17)

  For Feb :
  rep(c(rep(0,1), 1, rep(0, 10)), 17)

   and so on

  But my question is there any way to aumate this? Or I have to do the
 above thing for all 11 months?


 -
 [[elided Yahoo spam]]
[[alternative HTML version deleted]]

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide
 http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.




[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Constructing dummy variables for months for a time series object

2008-04-25 Thread Bill.Venables
The simplest way is probably to generate them as the columns of a
matrix.  Let's suppose you have data from Jan 1991 up to Mar 2008.

 X - outer(rep(month.abb, length = 16*12+3), month.abb, ==) + 0

 ## the + 0 will convert logical to numeric

 dim(X)
[1] 195  12

 dimnames(X)[[2]] - month.abb
 head(X)
 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
[1,]   1   0   0   0   0   0   0   0   0   0   0   0
[2,]   0   1   0   0   0   0   0   0   0   0   0   0
[3,]   0   0   1   0   0   0   0   0   0   0   0   0
[4,]   0   0   0   1   0   0   0   0   0   0   0   0
[5,]   0   0   0   0   1   0   0   0   0   0   0   0
[6,]   0   0   0   0   0   1   0   0   0   0   0   0
  

To get the July indicators, use X[, Jul], c


Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary):  +61 7 3826 7304
Mobile: +61 4 8819 4402
Home Phone: +61 7 3286 7700
mailto:[EMAIL PROTECTED]
http://www.cmis.csiro.au/bill.venables/ 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Megh Dal
Sent: Friday, 25 April 2008 5:40 PM
To: [EMAIL PROTECTED]
Subject: [R] Constructing dummy variables for months for a time series
object

I have a TS of monthly observations. 
   
  head(data4)
 1991(1)  1991(2)  1991(3)  1991(4)  1991(5)  1991(6) 
12.00864 11.94203 11.98386 12.01900 12.19226 12.15488 

  Now I want to make 11 dummy variables indicating months. Therefore I
did followings :
   
  For Jan :
  rep(c(rep(0,0), 1, rep(0, 11)), 17)
   
  For Feb :
  rep(c(rep(0,1), 1, rep(0, 10)), 17)
   
   and so on
   
  But my question is there any way to aumate this? Or I have to do the
above thing for all 11 months?

   
-
[[elided Yahoo spam]]
[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Constructing dummy variables for months for a time series object

2008-04-25 Thread Gabor Grothendieck
First generate a factor and then calculate its model matrix:

month. - factor(cycle(x), labels = month.abb)
model.matrix(~ month.)[,-1]

Actually you may not even need the dummy variables at all if your
purpose is to do a regression.  You can use the factor
directly:

lm(x ~ month.)

By the way, be sure to check out ?monthplot


On Fri, Apr 25, 2008 at 3:40 AM, Megh Dal [EMAIL PROTECTED] wrote:
 I have a TS of monthly observations.

  head(data4)
  1991(1)  1991(2)  1991(3)  1991(4)  1991(5)  1991(6)
 12.00864 11.94203 11.98386 12.01900 12.19226 12.15488

  Now I want to make 11 dummy variables indicating months. Therefore I did 
 followings :

  For Jan :
  rep(c(rep(0,0), 1, rep(0, 11)), 17)

  For Feb :
  rep(c(rep(0,1), 1, rep(0, 10)), 17)

   and so on

  But my question is there any way to aumate this? Or I have to do the above 
 thing for all 11 months?


 -
 [[elided Yahoo spam]]
[[alternative HTML version deleted]]

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.


__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.