Re: [R] Selecting single TAZ based on area proportion

2010-02-10 Thread ROLL Josh F
It dopes appear that this code works but entering a NA into the TAZ values 
goofs things up.  Any ideas of how to remedy this problem? 

-Original Message-
From: Nikhil Kaza [mailto:nikhil.l...@gmail.com] 
Sent: Monday, February 08, 2010 4:51 PM
To: ROLL Josh F
Cc: r-help@r-project.org
Subject: Re: [R] Selecting single TAZ based on area proportion


try this
t <- TazProperties..
v <- aggregate(t$Area, by=list(t$TAZ,t$Props), sum)
names(v) <- c("TAZ", "Prop", "area")
tapply(v$area, v$Prop, function(x) v$TAZ[which.max(x)])

note that you have to deal with the cases where there is a tie for the maximum. 
The above just returns the first maximum.

Nikhil



On Feb 8, 2010, at 1:14 PM, LCOG1 wrote:

>
> Good day all,
>   I am having an issue coercing my data.  Below i have some data on 
> taxlots and an associated TAZ(transportation analsysi zone) that each 
> property is within.  The main issue is that some properties cross TAZ 
> boundaries so i need to make a decision as to which TAZ the property 
> belongs too, i would like to do this based on the area of the Property 
> and ultimately assign the the property to the TAZ in which the 
> majority or the most of the area is within.  For instance in the data 
> below:
>
> Property  p754921  is in two TAZs, 38 and 37.  Since the property is 
> mostly in 37 i would like to assign this value to the list of
> properties(Props) so
> that
>
> MultiTazProperties_ goes from
>
> $p754921
> [1] 38 37 37
>
> $p75506
> [1] 171 171 282 171
>
> $p75508
> [1]  46  46 169 169 169
>
> to
>
> $p754921
> [1]  37
>
> $p75506
> [1] 282
>
> $p75508
> [1]  46
>
> PropsTAZ   Area
> 1  p754921  38 109828.040
> 2  p754921  37 128134.710
> 3  p754921  37  46469.570
> 4   p75506 171  37160.210
> 5   p75506 171  40080.500
> 6   p75506 282 344679.660
> 7   p75506 171  16972.280
> 8   p75508  46 342309.558
> 9   p75508  46 260906.870
> 10  p75508 169  17014.659
> 11  p75508 169   7285.706
> 12  p75508 169  10936.316
>>
>
>
> #Data to use
> Props<-c("p754921","p754921" ,"p754921","p75506" ,"p75506"
> ,"p75506","p75506"
> ,"p75508","p75508","p75508","p75508","p75508")
> TAZ<-c(38,37,37,171,171,282,171,46,46,169,169,169)
> Area<-c(109828.04,  128134.71,   46469.57, 37160.21,
> 40080.50,344679.66,16972.28,
> 342309.558, 260906.870,  17014.659,   7285.706,  10936.316)
>
> TazProperties..<-data.frame(Props,TAZ,Area)
>
> MultiTazProperties_<-tapply(TAZ , Props, function(x) x) 
> MultiTazArea_<-tapply(Area , Props, function(x) x)
>
> Hope my inquiry is clear.  Thanks
> --
> View this message in context: 
> http://n4.nabble.com/Selecting-single-TAZ-based-on-area-proportion-tp1
> 473288p1473288.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.

__
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] Selecting single TAZ based on area proportion

2010-02-08 Thread Nikhil Kaza


try this
t <- TazProperties..
v <- aggregate(t$Area, by=list(t$TAZ,t$Props), sum)
names(v) <- c("TAZ", "Prop", "area")
tapply(v$area, v$Prop, function(x) v$TAZ[which.max(x)])

note that you have to deal with the cases where there is a tie for the  
maximum. The above just returns the first maximum.


Nikhil



On Feb 8, 2010, at 1:14 PM, LCOG1 wrote:



Good day all,
  I am having an issue coercing my data.  Below i have some data on  
taxlots
and an associated TAZ(transportation analsysi zone) that each  
property is
within.  The main issue is that some properties cross TAZ boundaries  
so i
need to make a decision as to which TAZ the property belongs too, i  
would
like to do this based on the area of the Property and ultimately  
assign the
the property to the TAZ in which the majority or the most of the  
area is

within.  For instance in the data below:

Property  p754921  is in two TAZs, 38 and 37.  Since the property is  
mostly
in 37 i would like to assign this value to the list of  
properties(Props) so

that

MultiTazProperties_ goes from

$p754921
[1] 38 37 37

$p75506
[1] 171 171 282 171

$p75508
[1]  46  46 169 169 169

to

$p754921
[1]  37

$p75506
[1] 282

$p75508
[1]  46

PropsTAZ   Area
1  p754921  38 109828.040
2  p754921  37 128134.710
3  p754921  37  46469.570
4   p75506 171  37160.210
5   p75506 171  40080.500
6   p75506 282 344679.660
7   p75506 171  16972.280
8   p75508  46 342309.558
9   p75508  46 260906.870
10  p75508 169  17014.659
11  p75508 169   7285.706
12  p75508 169  10936.316





#Data to use
Props<-c("p754921","p754921" ,"p754921","p75506" ,"p75506"
,"p75506","p75506"
,"p75508","p75508","p75508","p75508","p75508")
TAZ<-c(38,37,37,171,171,282,171,46,46,169,169,169)
Area<-c(109828.04,  128134.71,   46469.57, 37160.21,
40080.50,344679.66,16972.28,
342309.558, 260906.870,  17014.659,   7285.706,  10936.316)

TazProperties..<-data.frame(Props,TAZ,Area)

MultiTazProperties_<-tapply(TAZ , Props, function(x) x)
MultiTazArea_<-tapply(Area , Props, function(x) x)

Hope my inquiry is clear.  Thanks
--
View this message in context: 
http://n4.nabble.com/Selecting-single-TAZ-based-on-area-proportion-tp1473288p1473288.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.


__
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] Selecting single TAZ based on area proportion

2010-02-08 Thread LCOG1

Good day all, 
   I am having an issue coercing my data.  Below i have some data on taxlots
and an associated TAZ(transportation analsysi zone) that each property is
within.  The main issue is that some properties cross TAZ boundaries so i
need to make a decision as to which TAZ the property belongs too, i would
like to do this based on the area of the Property and ultimately assign the
the property to the TAZ in which the majority or the most of the area is
within.  For instance in the data below:

Property  p754921  is in two TAZs, 38 and 37.  Since the property is mostly
in 37 i would like to assign this value to the list of properties(Props) so
that 

MultiTazProperties_ goes from 

$p754921
[1] 38 37 37

$p75506
[1] 171 171 282 171

$p75508
[1]  46  46 169 169 169

to

$p754921
[1]  37 

$p75506
[1] 282

$p75508
[1]  46

 PropsTAZ   Area
1  p754921  38 109828.040
2  p754921  37 128134.710
3  p754921  37  46469.570
4   p75506 171  37160.210
5   p75506 171  40080.500
6   p75506 282 344679.660
7   p75506 171  16972.280
8   p75508  46 342309.558
9   p75508  46 260906.870
10  p75508 169  17014.659
11  p75508 169   7285.706
12  p75508 169  10936.316
> 


#Data to use
Props<-c("p754921","p754921" ,"p754921","p75506" ,"p75506"
,"p75506","p75506"
 ,"p75508","p75508","p75508","p75508","p75508")
TAZ<-c(38,37,37,171,171,282,171,46,46,169,169,169)
Area<-c(109828.04,  128134.71,   46469.57, 37160.21, 
40080.50,344679.66,16972.28,
342309.558, 260906.870,  17014.659,   7285.706,  10936.316)

TazProperties..<-data.frame(Props,TAZ,Area)

MultiTazProperties_<-tapply(TAZ , Props, function(x) x)
MultiTazArea_<-tapply(Area , Props, function(x) x)

Hope my inquiry is clear.  Thanks
-- 
View this message in context: 
http://n4.nabble.com/Selecting-single-TAZ-based-on-area-proportion-tp1473288p1473288.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.