[R] Fill a matrix with vectors of different lengths

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.be
Mon Oct 16 10:51:09 CEST 2006


you can try something like the following:

out <- lapply(1:length(v), function(i) binc(v[1:i]))
nout <- max(sapply(out, length))
sapply(out, function(x) c(x, rep(0, nout - length(x))))


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Serguei Kaniovski" <kaniovsk at wifo.ac.at>
To: <r-help at stat.math.ethz.ch>
Sent: Monday, October 16, 2006 10:27 AM
Subject: [R] Fill a matrix with vectors of different lengths


> Hello,
>
> how can I best fill a (fixed) matrix with vectors of varying lengths 
> by
> column, setting the superfluous elements to zero? Here is my code:
>
> v<-(1,1,2,3,4,6)
>
> binc<-function(x){
> l<-sum(x)+1
> y<-c(1,rep(0,l-1))
> for (i in x) y<-y+c(rep(0,i),y)[1:l]
> }
>
> mat<-matrix(0, nrow=sum(v)+1, ncol=length(v))
> for (i in 1:length(v)) mat[,i]=mat[,i]+binc(v[1:i])
>
> the expression in the for-loop produces an error since mat[,i] and
> binc(v[1:i]) are of unequal lengths, except on the last iteration.
>
> Thanks in advance,
> Serguei
> -- 
> ___________________________________________________________________
>
> Austrian Institute of Economic Research (WIFO)
>
> Name: Serguei Kaniovski P.O.Box 91
> Tel.: +43-1-7982601-231 Arsenal Objekt 20
> Fax:  +43-1-7989386 1103 Vienna, Austria
> Mail: Serguei.Kaniovski at wifo.ac.at
>
> http://www.wifo.ac.at/Serguei.Kaniovski
>
> ______________________________________________
> R-help at 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.
> 


Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the R-help mailing list