On Tue, 9 Dec 2008, David M Warner wrote:
>
>
> Greetings
> I'm using R 2.8 with recent (last month) versions of the packages I
need to
> use at present.
>
> I'm interested in examining hierarchical spatio-temporal patterns in
a data
> set. The data consist of 94 points (X, Y, UTM coordinates) at which
catch
> rates for a fish were recorded and there are also estimates of prey
> available for these fish at the same locations. I have reason to believe
> that the relationships between predators and prey varies with spatial
scale
> (nested processes).
>
> To test this hypothesis, I'd like to generate subsets of the points
that are
> separated by distance ranges (1-50 km, 51-100 km, etc) so I can run Sncf
> (package ncf) on the subsets.
>
> I cannot find a way to do this with R code. Getting a distance matrix is
> easy. Using that to help generate a series of distance-based subsets is
> something I cannot figure out (without manually entering a list of all
the
> point pairs).
You mean subsets of _pairs_ of points, right? (If not, then say what you
meant and give an example.)
Do like this:
> cv <- rnorm(20) # phony coords
> dim(cv) <- c(10,2)
> alldist3 <- as.matrix( dist( cv ) ) # Euclidean
> cd <- cut(alldist3,c( 0, 1, 2, 4, Inf) )
> sapply(levels(cd), function(x) which(array(cd ==
x,dim(alldist3)),arr.ind=TRUE))
$`(0,1]`
row col
[1,] 2 1
[2,] 5 1
[3,] 6 1
[4,] 9 1
[5,] 1 2
[6,] 3 2
[rest omitted]
Each element of the list contains all the pairs at the specified distance.
You'll want to clean this up to use the right distance and cutpoints and
to rid redundant pairs (2,1 vs 1,2), but you get the idea.
See
?which
?cut
?levels
?sapply
HTH,
Chuck>
> Any suggestions would be appreciated.
> For what it's worth, I did post this question to R-sig-geo as well.
> Dave Warner
> David Warner
> Research Fishery Biologist
> USGS Great Lakes Science Center
> 1451 Green Road
> Ann Arbor MI 48105
> 734.214.9392
> ______________________________________________
> 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.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901