[R] Generate a sequence of vectors of different length

Dimitris Rizopoulos d.rizopoulos at erasmusmc.nl
Wed Nov 2 15:07:26 CET 2011


One approach is:

sectors <- 2
namSec <- LETTERS[seq_len(sectors)]
nSec <- round(3 / runif(sectors))

mapply(paste, namSec, sapply(nSec, seq_len),
     MoreArgs = list(sep = ""))


I hope it helps.

Best,
Dimitris


On 11/2/2011 2:56 PM, Christian Langkamp wrote:
> Hi everyone
> After the following setup
>
> sector=2 # Define Number of Sectors
>
> sectors=LETTERS[seq( from = 1, to = sector )] # Name sectors
>
> No_ent=round(3/runif(sector)) # Number of entities per sector
>
> #Tot_No_ent=sum(No_ent)
>
>
>
> Goal is to get a List like
>
> (A1, A2, A3, B1, B2, B3, B4) where A is denoting an industrial sector and
> then a numbered sequence of companies within the sector.
>
>
>
> The step I am missing is how to generate a sequence of vectors (one for each
> sector) with individual length being determined by No_ent.
>
> The goal is to generate a set of entities from different sectors. One simple
> way out of it would be to set the number of entities equal per sector and
> have a matrix, but I am quite sure it should also be possible for having a
> different number of entities in each sector.
>
>
>
> Once this is done, I can bind them together as vector with
> "as.vector(rbind(?))" (both as an (A,A,A,B,B,B,B) and (1,2,3,1,2,3,4) and
> then concatenate)
>
>
>
> Thanks, Christian
>
>
>
>
>
> Trials included the following bits
>
> A=for (i in 1:sector){
>
> rep(i,No_ent[i])
>
> }
>
> paste(LETTERS[i], seq(from =1, to =No_ent[i]), sep = "")
>
> but I don't get the correct object definition right.
>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>

-- 
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
Web: http://www.erasmusmc.nl/biostatistiek/



More information about the R-help mailing list