[R] Help understanding loop behaviour

e-mail ma015k3113 m@015k3113 @end|ng |rom b|ueyonder@co@uk
Thu Apr 29 17:40:42 CEST 2021


I am trying to understand how loops in operate. I have a simple dataframe xx which is as follows

COMPANY_NUMBER   NUMBER_OF_YEARS
 
#0070837                             3
#0070837                             3
#0070837                             3
1000403                               4
1000403                               4
1000403                               4
1000403                               4
10029943                             3
10029943                             3
10029943                             3
10037980                             4
10037980                             4
10037980                             4
10037980                             4
10057418                             3
10057418                             3

10057418                             3
1009550                               4
1009550                               4
1009550                               4
1009550                               4
The code I have written is

while (i <= nrow(xx1) )

{

for (j in 1:xx1$NUMBER_OF_YEARS[i])
{
xx1$I[i] <- i
xx1$J[j] <- j
xx1$NUMBER_OF_YEARS_j[j] <- xx1$NUMBER_OF_YEARS[j]
}
i=i + (xx1$NUMBER_OF_YEARS[i] )
}
After running the code I want my dataframe to look like

|COMPANY_NUMBER |NUMBER_OF_YEARS| | I| |J|

|#0070837 |3| |1| |1|
|#0070837 |3| |1| |2|
|#0070837 |3| |3| |3|
|1000403 |4| |1| |1|
|1000403 |4| |1| |2|
|1000403 |4| |1| |3|
|1000403 |4| |4| |4|
|10029943 |3| |1| |1|
|10029943 |3| |1| |2|
|10029943 |3| |3| |3|
|10037980 |4| |1| |1|
|10037980 |4| |1| |2|
|10037980 |4| |1| |3|
|10037980 |4| |4| |4|
|10057418 |3| |1| |1|
|10057418 |3| |1| |1|
|10057418 |3| |1| |1|
|1009550 |4| |1| |1|
|1009550 |4| |1| |2|
|1009550 |4| |1| |3|
|1009550 |4| |4| |4|


I get the correct value of I but in the wrong row but the vaule of J is correct in the first iteration and then it goes to 1

Any help will be greatly appreciated
	[[alternative HTML version deleted]]



More information about the R-help mailing list