On Wed, 12 May 2004, Patrik Waldmann wrote: > I was too quick before. What I was looking for was a function that > constructs the design (or incidence) matrix (X in a linear model) from a > factor. Uwe Ligges suggested using model.matrix and this does almost what I > want, but it is first necessary to construct a data variable.
Eh? You have to construct the factor, and nothing else. > It also asigns ones to all rows of the first column (because this is set > to be the contrast, not really what I want - see below). Maybe time for > a function that just converts a factor into a design matrix? Uwe was quite correct, and you were still too quick. [Don't call an object after an R function. Let's use a sensible name like `f'.] f <- as.factor(c(1,1,2,2,3,3,3)) model.matrix(~ 0 + f) or diag(nlevels(f))[f,] gives what you illustrate. > I have a factor > factor<-as.factor(c(1,1,2,2,3,3,3)) > > and I want a matrix > 1 0 0 > 1 0 0 > 0 1 0 > 0 1 0 > 0 0 1 > 0 0 1 > 0 0 1 > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html PLEASE do. -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
