[R-sig-Geo] Need Help With Loop
Rolf Turner
r.turner at auckland.ac.nz
Wed Apr 17 09:44:17 CEST 2013
I am not at all sure that I understand your question, but I *think*
that you do not need to use loops at all. Let me assume that
you have vectors of point coordinates x and y, a vector of
months associated with the points, sat "m" (which is a *factor* of the
same length as x and y) and an observation window (say W)
within which the points lie.
You can do something like:
# Generate some toy data.
x <- runif(1000,0,10)
y <- runif(1000,0,10)
m <- factor(sample(month.abb,1000,TRUE))
W <- owin(c(0,10),c(0,10))
# Now do the processing of the data.
X <- ppp(x,y,window=W,marks=m)
SX <- split(X)
foo <- function(x,sigma,k.keep) {
iii <- density(x,sigma=sigma,diggle=TRUE)
jjj <- as.owin(iii[eval.im(iii>=k.keep*max(iii)),drop=FALSE])
convexhull(jjj)
}
RSLT <- lapply(SX,foo,sigma=0.5,k.keep=0.5)
Does that get you where you wanted to go?
cheers,
Rolf Turner
On 17/04/13 05:19, Reeder, Bryce Wesley wrote:
> Dear List,
>
> This is likely a silly question, but I am just beginning to learn how to
> incorporate loops into my functions. I have written a function that allows
> me to perform a series of steps that I need to do:
>
> function.x <- function(x, y, window, b.size, k.keep){
> ppp <- ppp(x, y, window=window)
> k <- density(ppp, b.size, edge=TRUE, at="pixel", diggle=TRUE,
> window=window)
> df <- data.frame(k)
> k.extract <- df[df$value >= (k.keep*max(df$value)), ]
> extract.ppp <- ppp(k.extract$x, k.extract$y, window=window)
> shape <- convexhull(extract.ppp)
> }
>
> As of now, I must subset the my data first into months and then run the
> function for each month separately. I have been trying all morning to
> insert a loop that can subset my data into months for me, run the function,
> and then return the convexhulls as objects that I can save as polygons.
More information about the R-sig-Geo
mailing list