[R] manipulating elements of a vector
Eric Lecoutre
lecoutre at stat.ucl.ac.be
Thu May 27 12:31:37 CEST 2004
Hi,
What about:
dummy=function(x){
diag(length(x))[rep(1:length(x),x),]
}
> dummy(c(3,2,4))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 1 0 0
[3,] 1 0 0
[4,] 0 1 0
[5,] 0 1 0
[6,] 0 0 1
[7,] 0 0 1
[8,] 0 0 1
[9,] 0 0 1
HTH,
Eric
At 12:23 27/05/2004, you wrote:
>Dear R users;
>
>I would like to convert a series of vectors to matrices in the following way;
>(2,1,1) to a matrix
>1 0 0
>1 0 0
>0 1 0
>0 0 1
>
>The idea is that the column sum of the matrix should be equal to the
>elements of the vector.
>
>Thanks.
>
>Vumani
Eric Lecoutre
UCL / Institut de Statistique
Voie du Roman Pays, 20
1348 Louvain-la-Neuve
Belgium
tel: (+32)(0)10473050
lecoutre at stat.ucl.ac.be
http://www.stat.ucl.ac.be/ISpersonnel/lecoutre
If the statistics are boring, then you've got the wrong numbers. -Edward
Tufte
More information about the R-help
mailing list