On 1/13/2009 8:20 AM, Niccolò Bassani wrote:
Dear R users,I come to you with a quite silly question I think, but I hope
you can answer me...
That is, I've got some problems in using the if and while conditions in a
loop.
Substantially, I want to select rows in a dataset depending on an index
variable (suppose it ranges from 1 to 5), so to make a specific analysis
(homemade of course) on thie new dataset. Mi first tought has been to do a
double loop like this:

for i in 1:5{
for j in (i+1):5{
data = dataset[(variable==i) | (variable==j),]
##analysis
##analysis
}
}

This way I should select all the couples only once (gaining in efficiency I
hope). The fact is that this arrangement has a problem: that j ends up with
ranging from 2 to 6, not from to 2 to 5. So when I do a subsetting on the
dataset to obtain only the rows corresponding to the values of i and j I
want, when the loop comes to j = 6 I have an error, of course.
What I want to know is: how can I use the if or while condition in such a
loop to avoid the routine doing the computations for this case? I.e., can I
tell somehow R "Hey, if j=6, let it go and move on with the other
computations"?
Or maybe you can see a faster and better way of using the for conditions??

Use "for (i in 1:4)".

Duncan Murdoch


I hope I made myself clear, if not I'll carify myself!!

Thanks in advance
Niccolò

        [[alternative HTML version deleted]]



------------------------------------------------------------------------

______________________________________________
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.

______________________________________________
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