Dear R-helpers

I have 2 variables
x1=rgamma(6000, 2, 1) and x2=rgamma(6000, 3,2). I have to sort (descending) 
each one and split it into groups. After this each two groups must be merged 
into one until all population becomes one group. A dummy vector must be created 
for each group (8, 4, 2, 1) being equal to 1 if the individual (i) belongs to 
the group and equal to 0, otherwise.

What I have done was:
id=(6000)
x1sort=sort(x1, decreasing=TRUE)
x1g8_1=x1sort[1:750]
x1g8_2=x1sort[751:1500]
x1g8_3=x1sort[1501:2250]
x1g8_4=x1sort[2251:3000]
x1g8_5=x1sort[3001:3750]
x1g8_6=x1sort[3751:4500]
x1g8_7=x1sort[4501:5250]
x1g8_8=x1sort[5251:6000]

x1g4_1=c(x1g8_1, x1g8_2)
x1g4_2=c(x1g8_3, x1g8_4)
x1g4_3=c(x1g8_5, x1g8_6)
x1g4_4=c(x1g8_7, x1g8_8)

x1g2_1=c(x1g4_1, x1g4_2)
x1g2_2=c(x1g4_3, x1g4_4)

x1ng=c(x1g2_1, x1g2_2)

After this I did the dummy vector (the example is for group4)

dum= replace(matrix(0, 4, 1), cbind(4, 1), 0)                           # 
matrix of zeros
dummy=lapply(1:4, function(i) replace(dum, cbind(i), 1))        # 4 dummy 
vectors
s=split(dummy, 1:4)
ss=rename.vars(s, c("1", "2", "3", "4"), c("dx14_1", "dx14_2", "dx14_3", 
"dx14_4"))

The problem is when I split into groups each group only identifies 750 
individuals(in the case of x1g8 for instance) only assumes i=1, ..., 750 and I 
need to keep i=1, ...., 6000. Also my option to dummy vectors don't seem to 
work because I get 4 vectors with the number one (1) in each different variable 
and not only one.

So, I need some help on how should I make to keep i=1, ..., 6000 and how to 
create a dummy vector that assumes only the value one (1) when some I belongs 
to some group.

Thank you so much.
Ana

______________________________________________
R-help@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.

Reply via email to