Skip to content
Back to formatted view

Raw Message

Message-ID: <3C1F1507-3DF1-4270-91D5-667AD763978C@comcast.net>
Date: 2010-01-19T00:58:06Z
From: David Winsemius
Subject: change codes into loops
In-Reply-To: <a835c81e1001181619r6ecb9904s42f005702ef8923d@mail.gmail.com>

On Jan 18, 2010, at 7:19 PM, rusers.sh wrote:

> Hi,
>  See example.
>   for (i in 1:2) {
>  for (j in 1:3) {
>     b_1[i,j]<-rank(c(a1[i,j],a2[i,j],a3[i,j]))[1]
>    b_2[i,j]<-rank(c(a1[i,j],a2[i,j],a3[i,j]))[2]
>     b_3[i,j]<-rank(c(a1[i,j],a2[i,j],a3[i,j]))[3]
>  }
> }
>  The inner codes is really repeated, so i want to change the inner  
> codes
> into loops. Take nn is from 1 to 3,
> something like,
>  for (nn in 1:3) {
> b_nn[i,j]<-rank(c(a1[i,j]:a3[i,j]))[nn]
> }
>  Anybody can tell me the correct method to specify the above codes?

There is no correct method. You cannot index on the object name b_nn  
that way. R has not been developing using a syntax with that much  
flexibility.  If you want a 3D array of values, then you could create  
b_ijn[i, j, nn] and make assignments to it. But if you tried to do  
this with paste and assign, you will spending considerably more time  
degbugging it than it is worth and it would likely be more inefficient  
than what you have.

-- 
David.

> Thanks.
>
> -- 
> -----------------
> Jane Chang
> Queen's
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT