-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
project.org] On Behalf Of Wush Wu
Sent: Monday, November 10, 2014 2:30 PM
To: Francesca
Cc: R help
Subject: Re: [R] Compressing code help in a loop
Dear Francesca,
Is this what you want?
```r
index <- c(406, 107, 207, 307, 407, 108, 208, 308, 408, 109, 209, 309,
409,
110, 210, 310, 410, 111, 211)
p_m <- match( p_int$p_made, index)
dim(p_m) <- c(dim(p_int)[1],1)
```
Best,
Wush
PhD Student Graduate Institute of Electrical Engineering, National
Taiwan
University
2014-11-10 20:14 GMT+08:00 Francesca <francesca.pancotto at gmail.com>:
Dear Contributors
I have a problem with a loop.
I needed to create a variable that takes values 1,2.. to 19
to the value of a variable in a data.frame whose name is p_int$p_made
which takes values from 406 to 211.
The problem is that this values come ordered in the wrong way when I
compress the loop as the system reads
107,111,207,211,311,406,407,408,409,410,411,
while they correspond to quarters-years so they should be ordered as
406-107-207-307-407?
the only solution I found was really silly. It is the following.
p_m<-matrix(0,dim(p_int)[1],1)
for (i in 1:length(p_int$p_made)){
if (p_int$p_made[i]==406) p_m[i]<-1 else
if (p_int$p_made[i]==107) p_m[i]<-2 else
if (p_int$p_made[i]==207) p_m[i]<-3 else
if (p_int$p_made[i]==307) p_m[i]<-4 else
if (p_int$p_made[i]==407) p_m[i]<-5 else
if (p_int$p_made[i]==108) p_m[i]<-6 else
if (p_int$p_made[i]==208) p_m[i]<-7 else
if (p_int$p_made[i]==308) p_m[i]<-8 else
if (p_int$p_made[i]==408) p_m[i]<-9 else
if (p_int$p_made[i]==109) p_m[i]<-10 else
if (p_int$p_made[i]==209) p_m[i]<-11 else
if (p_int$p_made[i]==309) p_m[i]<-12 else
if (p_int$p_made[i]==409) p_m[i]<-13 else
if (p_int$p_made[i]==110) p_m[i]<-14 else
if (p_int$p_made[i]==210) p_m[i]<-15
if (p_int$p_made[i]==310) p_m[i]<-16
if (p_int$p_made[i]==410) p_m[i]<-
if (p_int$p_made[i]==111)
else
if (p_int$p_made[i]==211)
}
Can anyone help to find something more efficient?
Thanks in advance.
Francesca
--
Francesca
----------------------------------
Francesca Pancotto
Associate Professor
University of Modena and Reggio Emilia
Viale A. Allegri, 9
40121 Reggio Emilia
Office: +39 0522 523264
Web: https://sites.google.com/site/francescapancotto/
----------------------------------
[[alternative HTML version deleted]]