Dear All,
I have to use loop over an array so I am using following procedure
count<-1
repeat{
count<-count + 1
c(g[count],1:i[count]) ->qw
if(count>5)break
}
as a result qw is
[1] 0.9643836 1.0000000 2.0000000 3.0000000 4.0000000 5.0000000
[7] 6.0000000 7.0000000 8.0000000 9.0000000 10.0000000 11.0000000
[13] 12.0000000 13.0000000 14.0000000 15.0000000 16.0000000 17.0000000
[19] 18.0000000 19.0000000 20.0000000 21.0000000 22.0000000 23.0000000
[25] 24.0000000 25.0000000 26.0000000 27.0000000 28.0000000 29.0000000
[31] 30.0000000 31.0000000 32.0000000 33.0000000 34.0000000 35.0000000
[37] 36.0000000 37.0000000 38.0000000 39.0000000
which is according to the last value of count i.e 6. What is the problem in
error
but I expect the result as
[1] 0.8328767 0.2410959 0.5315068 0.1424658 0.2520548 0.9643836
[7] 6.0000000 7.0000000 8.0000000 0.2410959 1.0000000 2.0000000
[13] 3.0000000 4.0000000 5.0000000 0.5315068 1.0000000 2.0000000
[19] 3.0000000 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000
[25] 9.0000000 10.0000000 11.0000000 12.0000000 13.0000000 0.1424658
[31] 1.0000000 0.0000000 0.2520548 1.0000000 2.0000000 3.0000000
[37] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000
[43] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000
[49] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000
[55] 22.0000000 23.0000000 0.9643836 1.0000000 2.0000000 3.0000000
[61] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000
[67] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000
[73] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000
[79] 22.0000000 23.0000000 24.0000000 25.0000000 26.0000000 27.0000000
[85] 28.0000000 29.0000000 30.0000000 31.0000000 32.0000000 33.0000000
[91] 34.0000000 35.0000000 36.0000000 37.0000000 38.0000000 39.0000000
which is combination of 6 vectors of lengths {9,6,14,3,24,40).
Please tell me the error or alternate procedure for looping.
regards,
GS
On 12/29/2005 7:41 AM, gynmeerut wrote:> Dear All, > > I have to use loop over an array so I am using following procedure > > count<-1 > repeat{ > count<-count + 1 > c(g[count],1:i[count]) ->qw > if(count>5)break > }We can't reproduce this, as we don't have g or i. But the general advice in a case like this is to simulate the loop by hand: write down what is in each of the variables, and walk through the loop. I suspect your problem is in initializing count improperly, or in putting the test in the wrong place. Duncan Murdoch> > as a result qw is > [1] 0.9643836 1.0000000 2.0000000 3.0000000 4.0000000 5.0000000 > [7] 6.0000000 7.0000000 8.0000000 9.0000000 10.0000000 11.0000000 > [13] 12.0000000 13.0000000 14.0000000 15.0000000 16.0000000 17.0000000 > [19] 18.0000000 19.0000000 20.0000000 21.0000000 22.0000000 23.0000000 > [25] 24.0000000 25.0000000 26.0000000 27.0000000 28.0000000 29.0000000 > [31] 30.0000000 31.0000000 32.0000000 33.0000000 34.0000000 35.0000000 > [37] 36.0000000 37.0000000 38.0000000 39.0000000 > > which is according to the last value of count i.e 6. What is the problem in error > > > but I expect the result as > > [1] 0.8328767 0.2410959 0.5315068 0.1424658 0.2520548 0.9643836 > [7] 6.0000000 7.0000000 8.0000000 0.2410959 1.0000000 2.0000000 > [13] 3.0000000 4.0000000 5.0000000 0.5315068 1.0000000 2.0000000 > [19] 3.0000000 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 > [25] 9.0000000 10.0000000 11.0000000 12.0000000 13.0000000 0.1424658 > [31] 1.0000000 0.0000000 0.2520548 1.0000000 2.0000000 3.0000000 > [37] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000 > [43] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000 > [49] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000 > [55] 22.0000000 23.0000000 0.9643836 1.0000000 2.0000000 3.0000000 > [61] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000 > [67] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000 > [73] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000 > [79] 22.0000000 23.0000000 24.0000000 25.0000000 26.0000000 27.0000000 > [85] 28.0000000 29.0000000 30.0000000 31.0000000 32.0000000 33.0000000 > [91] 34.0000000 35.0000000 36.0000000 37.0000000 38.0000000 39.0000000 > > which is combination of 6 vectors of lengths {9,6,14,3,24,40). > > > Please tell me the error or alternate procedure for looping. > > regards, > > GS > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Your loop will store results of count =6 because
every time the loop executes the results are put in
qw so you replace the previous results. On the other
hand the results of count=1 is not extracted you basicaly
start at 2.
My advice is you initialize qw before the loop and stack the results
one after the other e.g.
qw <-NULL
count<-1
repeat{
qw<-c(qw, c(g[count],1:i[count]) )
count<-count + 1
if(count>5) break
}
Kind regards
Anthony Gichangi
----- Original Message -----
From: "gynmeerut" <gynmeerut at indiatimes.com>
To: <r-help at stat.math.ethz.ch>
Sent: Thursday, December 29, 2005 1:41 PM
Subject: [R] loop
>
> Dear All,
>
> I have to use loop over an array so I am using following procedure
>
> count<-1
> repeat{
> count<-count + 1
> c(g[count],1:i[count]) ->qw
> if(count>5)break
> }
>
> as a result qw is
> [1] 0.9643836 1.0000000 2.0000000 3.0000000 4.0000000 5.0000000
> [7] 6.0000000 7.0000000 8.0000000 9.0000000 10.0000000 11.0000000
> [13] 12.0000000 13.0000000 14.0000000 15.0000000 16.0000000 17.0000000
> [19] 18.0000000 19.0000000 20.0000000 21.0000000 22.0000000 23.0000000
> [25] 24.0000000 25.0000000 26.0000000 27.0000000 28.0000000 29.0000000
> [31] 30.0000000 31.0000000 32.0000000 33.0000000 34.0000000 35.0000000
> [37] 36.0000000 37.0000000 38.0000000 39.0000000
>
> which is according to the last value of count i.e 6. What is the problem
> in error
>
>
> but I expect the result as
>
> [1] 0.8328767 0.2410959 0.5315068 0.1424658 0.2520548 0.9643836
> [7] 6.0000000 7.0000000 8.0000000 0.2410959 1.0000000 2.0000000
> [13] 3.0000000 4.0000000 5.0000000 0.5315068 1.0000000 2.0000000
> [19] 3.0000000 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000
> [25] 9.0000000 10.0000000 11.0000000 12.0000000 13.0000000 0.1424658
> [31] 1.0000000 0.0000000 0.2520548 1.0000000 2.0000000 3.0000000
> [37] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000
> [43] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000
> [49] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000
> [55] 22.0000000 23.0000000 0.9643836 1.0000000 2.0000000 3.0000000
> [61] 4.0000000 5.0000000 6.0000000 7.0000000 8.0000000 9.0000000
> [67] 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000
> [73] 16.0000000 17.0000000 18.0000000 19.0000000 20.0000000 21.0000000
> [79] 22.0000000 23.0000000 24.0000000 25.0000000 26.0000000 27.0000000
> [85] 28.0000000 29.0000000 30.0000000 31.0000000 32.0000000 33.0000000
> [91] 34.0000000 35.0000000 36.0000000 37.0000000 38.0000000 39.0000000
>
> which is combination of 6 vectors of lengths {9,6,14,3,24,40).
>
>
> Please tell me the error or alternate procedure for looping.
>
> regards,
>
> GS
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html