Re: [R] rectify a program of seasonal dummies matrix

2007-08-22 Thread Uwe Ligges


Friedrich Schuster wrote:
 Hello, 
  
 the main problem seems to be the if else, should be else if. 
 
 Your code is hard to read, maybe you should consider using more () {}: 
 
 T - 100;
 br - matrix(0,T,4);

Thanks for the contribution. Please note:
a) It is a bad idea to have a variable called T. Some people still use 
it as a logical value even if they should not.
b) R does not need any ; at the end of a line.

Uwe Ligges


 for (i in 1:T) {
for (j in 1:4) {
   if (i==j) {
  br[i,j] - 1;
}
else if ((abs(i-j)%%4)==0) {
   br[i,j] - 1;
 }
 else {
   br[i,j] - 0;
 }
 }
  }
 
 A simpler approach is creating a diagonal matrix and multply it : 
 
 # create small diagonal matrix
 mat = diag(x=1, nrow=4, ncol=4);
 mat
 # multiply diagonal matrix and re-dimension it   to 4 cols
 br - rep(mat, 25);
 dim(br) - c(100, 4);
 br;
 
 Hope this helps, 
 FS


__
R-help@stat.math.ethz.ch 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] rectify a program of seasonal dummies matrix

2007-08-21 Thread jim holtman
Your syntax is wrong; e.g.,
if i==j

should be

if (i == j)

same with your use of 'if else'.  You need to use the correct syntax.
Your example is hard to follow without the correct indentation since
you are using the incorrect syntax.

On 8/21/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 Hi friends,
 I would like to construct a matrix of seasonal dummies with number of rows 
 (observations)=100. such matrix is written as follows:[1 0 0 0;0 1 0 0;0 0 1 
 0;0 0 0 1;1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1;etc...] . I wrote the following 
 program:
 T=100
 br=matrix(0,T,4)
 {
 for (i in 1:T)
 for (j in 1:4)
 if i==j
 br[i,j]=1
 if else (abs(i-j)%%4==0
 br[i,j]=1
 else
 br[i,j]=0
 }
 z-br
 z

 but unfortunately I obtained from the console the following message:
  {
 + for (i in 1:T)
 +  for (j in 1:4)
 + (if i==j)
 Erreur : syntax error, unexpected SYMBOL, expecting '(' dans :
 
 
  br[i,j]=1
 Erreur dans br[i, j] = 1 : objet i non trouvé
 
  (if else (abs(i-j)%%4==0)
 Erreur : syntax error, unexpected ELSE, expecting '(' dans (if else
  br[i,j]=1
 Erreur dans br[i, j] = 1 : objet i non trouvé
  else
 Erreur : syntax error, unexpected ELSE dans else
  br[i,j]=0
 Erreur dans br[i, j] = 0 : objet i non trouvé
}
 Erreur : syntax error, unexpected '}' dans   }
 
 Can you please rectify my smal program, I tried to rectify it but I can't. 
 Many thanks in advance.
[[alternative HTML version deleted]]


 __
 R-help@stat.math.ethz.ch 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.




-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

__
R-help@stat.math.ethz.ch 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] rectify a program of seasonal dummies matrix

2007-08-21 Thread Friedrich Schuster
Hello, 
 
the main problem seems to be the if else, should be else if. 

Your code is hard to read, maybe you should consider using more () {}: 

T - 100;
br - matrix(0,T,4);

for (i in 1:T) {
   for (j in 1:4) {
  if (i==j) {
 br[i,j] - 1;
   }
   else if ((abs(i-j)%%4)==0) {
  br[i,j] - 1;
}
else {
  br[i,j] - 0;
}
}
 }

A simpler approach is creating a diagonal matrix and multply it : 

# create small diagonal matrix
mat = diag(x=1, nrow=4, ncol=4);
mat
# multiply diagonal matrix and re-dimension it   to 4 cols
br - rep(mat, 25);
dim(br) - c(100, 4);
br;

Hope this helps, 
FS

-- 

Friedrich Schuster
mail at friedrich-schuster.de

__
R-help@stat.math.ethz.ch 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.