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]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.