Re: [R] store and repeat data based on row names (loop, if statement)

2010-05-31 Thread jim holtman
try this:

 x - read.table(textConnection(TO  DISTID
+ 1   2.63981 'A1'
+ 2   0  'A1'
+ 3   6.95836 'A1'
+ 4   8.63809 'A1'
+ 1   0  'A1.1'
+ 2   2.63981 'A1.1'
+ 3   8.03071 'A1.1'
+ 4   8.90896 'A1.1'
+ 1   8.90896 'A2'
+ 2   8.63809 'A2'
+ 3   2.85602 'A2'
+ 4   0  'A2'
+ 1   8.03071 'A2.1'
+ 2   6.95836 'A2.1'
+ 3   0  'A2.1'
+ 4   2.85602 'A2.1'), header=TRUE, as.is=TRUE)
 closeAllConnections()
 indx - subset(x, DIST == 0)
 x$newCol - indx$ID[match(x$TO, indx$TO)]


 x
   TODIST   ID newCol
1   1 2.63981   A1   A1.1
2   2 0.0   A1 A1
3   3 6.95836   A1   A2.1
4   4 8.63809   A1 A2
5   1 0.0 A1.1   A1.1
6   2 2.63981 A1.1 A1
7   3 8.03071 A1.1   A2.1
8   4 8.90896 A1.1 A2
9   1 8.90896   A2   A1.1
10  2 8.63809   A2 A1
11  3 2.85602   A2   A2.1
12  4 0.0   A2 A2
13  1 8.03071 A2.1   A1.1
14  2 6.95836 A2.1 A1
15  3 0.0 A2.1   A2.1
16  4 2.85602 A2.1 A2



On Mon, May 31, 2010 at 3:28 AM, RCulloch ross.cull...@dur.ac.uk wrote:

 Hello fellow R users,

 I have an issue that has me a little confused - sorry if the subject makes
 little sense, I wasn't sure how to refer to this problem. I have a data set
 I've extracted from ArcInfo (a section is shown below). It is spatial data,
 showing the distance from one ID to another. I want to get the actual 'TO'
 ID from the data set (there is no easy way to do this in Arc so I thought I
 would try in R). The way to do this is to find the dist = 0 row for an ID
 then that is that IDs unique 'TO' code, so if you look down the second
 column the highest no. is 4, and A1 = 2, A1.1 = 1, A2 = 4, A2.1 = 3. So I
 need to get that data and then put it in a new column that will basically
 read A1.1, A1, A2.1, A2, A1.1, A1, A2.1, A2, A1.1, A1, A2.1, A2, A1.1, A1,
 A2.1, A2.

 If anyone has any hints or tips or places to look I would be most grateful!

 Cheers,

 Ross


 TO      DIST    ID
 1       2.63981 'A1'
 2       0                  'A1'
 3       6.95836 'A1'
 4       8.63809 'A1'
 1       0                  'A1.1'
 2       2.63981 'A1.1'
 3       8.03071 'A1.1'
 4       8.90896 'A1.1'
 1       8.90896 'A2'
 2       8.63809 'A2'
 3       2.85602 'A2'
 4       0                  'A2'
 1       8.03071 'A2.1'
 2       6.95836 'A2.1'
 3       0                  'A2.1'
 4       2.85602 A2.1'
 --
 View this message in context: 
 http://r.789695.n4.nabble.com/store-and-repeat-data-based-on-row-names-loop-if-statement-tp2236928p2236928.html
 Sent from the R help mailing list archive at Nabble.com.

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




-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

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


Re: [R] store and repeat data based on row names (loop, if statement)

2010-05-31 Thread RCulloch

Hi Jim,

Many thanks - that has worked perfectly, thanks so much for your help!

Best wishes,

Ross
-- 
View this message in context: 
http://r.789695.n4.nabble.com/store-and-repeat-data-based-on-row-names-loop-if-statement-tp2236928p2237628.html
Sent from the R help mailing list archive at Nabble.com.

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