[R] getting data associated with coordinates in a spatial data frame
Weidong Gu
anopheles123 at gmail.com
Thu Oct 13 20:28:02 CEST 2011
Because SpatialPointsDataFrame is S4 object, you may try index by @
e at coords
or coordinates(e)
Weidong Gu
On Thu, Oct 13, 2011 at 2:18 PM, Bailey, Daniel <bailed at spu.edu> wrote:
> Michael,
> Thank you for the tips. The suggestion didn't work though. Here is the output of str(e):
> Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
> ..@ data :'data.frame': 168 obs. of 2 variables:
> .. ..$ catchcandata: num [1:168] 47.2 50.4 53.7 58 69.8 ...
> .. ..$ section : Factor w/ 1 level "16 Sept F9": 1 NA NA NA NA NA NA NA NA NA ...
> ..@ coords.nrs : int [1:2] 1 2
> ..@ coords : num [1:168, 1:2] 0 0 0 0 0 ...
> .. ..- attr(*, "dimnames")=List of 2
> .. .. ..$ : NULL
> .. .. ..$ : chr [1:2] "x" "y"
> ..@ bbox : num [1:2, 1:2] 0 0 48.8 17.1
> .. ..- attr(*, "dimnames")=List of 2
> .. .. ..$ : chr [1:2] "x" "y"
> .. .. ..$ : chr [1:2] "min" "max"
> ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
> .. .. ..@ projargs: chr NA
>
> -----Original Message-----
> From: R. Michael Weylandt [mailto:michael.weylandt at gmail.com]
> Sent: Thursday, October 13, 2011 11:13 AM
> To: Bailey, Daniel
> Cc: Sarah Goslee; r-help at r-project.org
> Subject: Re: [R] getting data associated with coordinates in a spatial data frame
>
> It's going to depend how the coordinates are stored within the data frame. Do you perhaps know if they are factors or character strings?
> (I'm not familiar with the package). If you don't know, type
> str(NAMEOFYOUROBJECT) and we can help interpret the output.
>
> Untested, I think this would actually work for both though:
> e[as.character(e$coordinates)=="(0,17)",]
>
> Michael
>
> On Thu, Oct 13, 2011 at 2:05 PM, Bailey, Daniel <bailed at spu.edu> wrote:
>> Thank you Sarah. I tried your suggestion, and if I coerce it into a normal data.frame, that method works. But if you've already made the data into a SpatialPixelsDataFrame and run coordinates (both from the package "sp") so that the columns "x" and "y" become a single column "coordinates" with the format (0, 17) for x and y, how do you then call or manipulate data at a specific location?
>>
>> The following:
>> e[e$coordinates==(0,17),]
>> Doesn't work.
>>
>>
>> -----Original Message-----
>> From: Sarah Goslee [mailto:sarah.goslee at gmail.com]
>> Sent: Wednesday, October 12, 2011 5:34 PM
>> To: Bailey, Daniel
>> Cc: r-help at r-project.org
>> Subject: Re: [R] getting data associated with coordinates in a spatial
>> data frame
>>
>> Hi,
>>
>> On Wed, Oct 12, 2011 at 3:37 PM, Bailey, Daniel <bailed at spu.edu> wrote:
>>> If I know the specific coordinate in a spatial data frame, how can I access the data at that coordinate?
>>>
>>> My coordinates are labeled "x" and "y" in a data.frame "e". The data is in column "leachate".
>>> I want to say, basically:
>>> e$leachate at coordinates(2,3<mailto:e$leachate at coordinates(2,3>).
>>
>> That's kind of mangled, but what about:
>>
>> e[e$x == my.x & e$y == my.y, "leachate"]
>>
>> (Depending on the form of your coordinates, you may also have to
>> invoke FAQ 7.31.)
>>
>> Sarah
>>
>>> Thanks, Daniel
>>>
>>
>> --
>> Sarah Goslee
>> http://www.functionaldiversity.org
>>
>> ______________________________________________
>> 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.
>>
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list