Nothing
#'
#' Header for all (concatenated) test files
#'
#' Require spatstat.geom
#' Obtain environment variable controlling tests.
#'
#' $Revision: 1.5 $ $Date: 2020/04/30 05:31:37 $
require(spatstat.geom)
FULLTEST <- (nchar(Sys.getenv("SPATSTAT_TEST", unset="")) > 0)
ALWAYS <- TRUE
cat(paste("--------- Executing",
if(FULLTEST) "** ALL **" else "**RESTRICTED** subset of",
"test code -----------\n"))
#'
#' tests/ppp.R
#'
#' $Revision: 1.14 $ $Date: 2022/08/27 04:49:32 $
#'
#' Untested cases in ppp() or associated code
local({
## X <- runifpoint(10, letterR)
## Y <- runifpoint(10, complement.owin(letterR))
Bin <- owin(c(2.15, 2.45), c(0.85, 3.0))
Bout <- owin(c(2.75, 2.92), c(0.85, 1.4))
X <- runifrect(10, Bin)[letterR]
Y <- runifrect(10, Bout)[complement.owin(letterR)]
if(FULLTEST) {
#' test handling of points out-of-bounds
df <- rbind(as.data.frame(X), as.data.frame(Y))
A <- ppp(df$x, df$y, window=letterR, marks=1:20)
#' test handling of points with bad coordinates
df$x[1:3] <- c(Inf, NA, NaN)
df$y[18:20] <- c(Inf, NA, NaN)
B <- ppp(df$x, df$y, window=letterR, marks=1:20)
D <- ppp(df$x, df$y, window=letterR, marks=data.frame(id=1:20, u=runif(20)))
#' test print/summary/plot methods on these bad objects
print(A)
print(B)
print(D)
print(summary(A))
print(summary(B))
print(summary(D))
plot(A)
plot(B)
plot(D)
plot(attr(A, "rejects"))
plot(attr(B, "rejects"))
plot(attr(D, "rejects"))
#' subset operator --- cases not covered elsewhere
#' subset index is a logical image
Z <- distmap(letterR, invert=TRUE)
V <- (Z > 0.2)
XV <- X[V]
#' multiple columns of marks
fun3 <- finpines[1:3]
#' multiple columns of marks, one of which is a factor
U <- finpines
marks(U)[,2] <- factor(c(rep("A", 60), rep("B", npoints(U)-60)))
UU <- U[1:3, drop=TRUE]
#' cut.ppp
CU <- cut(U, "height")
CU <- cut(U, breaks=3)
#' cases of [<-.ppp
set.seed(999)
X <- cells
B <- square(0.2)
X[B] <- runifrect(3, B)
#' checking 'value'
Y <- flipxy(X)
X[B] <- Y[square(0.3)]
## deprecated use of second argument
X[,1:4] <- runifrect(3) # deprecated
X[,B] <- runifrect(3, B) # deprecated
X[1:3, B] <- runifrect(20)
A <- superimpose(cells, X, W="convex")
A <- superimpose(cells, X, W=ripras)
B <- superimpose(concatxy(cells), concatxy(X), W=NULL)
## superimpose.splitppp
Y <- superimpose(split(amacrine))
## catch outdated usage of scanpp
d <- system.file("rawdata", "amacrine", package="spatstat.data")
if(nzchar(d)) {
W <- owin(c(0, 1060/662), c(0, 1))
Y <- scanpp("amacrine.txt", dir=d, window=W, multitype=TRUE)
print(Y)
}
## (bad) usage of cobble.xy
xx <- runif(10)
yy <- runif(10)
W1 <- cobble.xy(xx, yy)
W2 <- cobble.xy(xx, yy, boundingbox)
Wnope <- cobble.xy(xx, yy, function(x,y) {cbind(x,y)}, fatal=FALSE)
## as.data.frame.ppplist
Z <- runifrect(3, nsim=4)
Z[[2]] <- Z[[2]][1]
Z[[3]] <- Z[[3]][FALSE]
d <- as.data.frame(Z)
}
})
#
# tests/ppx.R
#
# Test operations for ppx objects
#
# $Revision: 1.9 $ $Date: 2020/12/04 04:49:40 $
#
local({
if(ALWAYS) {
## make data
df <- data.frame(x=c(1,2,2,1)/4, y=c(1,2,3,1)/4, z=c(2,3,4,3)/5)
X <- ppx(data=df, coord.type=rep("s", 3), domain=box3())
}
if(ALWAYS) {
#' methods involving C code
unique(X)
duplicated(X)
anyDuplicated(X)
multiplicity(X)
uniquemap(X)
}
if(FULLTEST) {
#' general tests
print(X)
summary(X)
plot(X)
domain(X)
unitname(X) <- c("metre", "metres")
unitname(X)
#' subset operator
X[integer(0)]
Y <- X %mark% data.frame(a=df$x, b=1:4)
Y[1:2]
Y[FALSE]
marks(Y) <- as.data.frame(marks(Y))
Y[integer(0)]
Y[1:2]
Y[FALSE]
}
if(FULLTEST) {
#' two dimensional
A <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=square(1))
plot(A)
B <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=NULL)
plot(B)
#' one dimensional
E <- ppx(data=data.frame(x=runif(10)))
plot(E)
#' bug
stopifnot(identical(unmark(chicago[1]),
unmark(chicago)[1]))
#' ppx with zero points
U <- chicago[integer(0)]
V <- U %mark% 1
V <- U %mark% factor("a")
#' simplify lower-dimensional patterns
X3 <- ppx(data=df, coord.type=rep("s", 3), domain=box3(), simplify=TRUE)
stopifnot(is.pp3(X3))
X2 <- ppx(data=df[,1:2], coord.type=rep("s", 2), domain=square(1), simplify=TRUE)
stopifnot(is.ppp(X2))
#' marks<-.ppx
M <- as.matrix(X)
marks(X) <- df[,1]
marks(X) <- df[,integer(0)]
}
if(FULLTEST) {
## ............ from Ege ..........................
## Tests for shift:
## Check ppp and ppx shift are the same
X <- cells
Y <- ppx(coords(cells), domain = boxx(0:1,0:1))
Xs <- shift(X, vec = c(1,1))
Ys <- shift(Y, vec = c(1,1))
stopifnot(all.equal(coords(Xs), coords(Ys),
check.attributes = FALSE))
stopifnot(all.equal(domain(Xs), as.owin(domain(Ys)),
check.attributes = FALSE))
## Check a single numeric for vec in shift.ppx
stopifnot(identical(Ys, shift(Y, vec = 1)))
## Tests for scale:
dat <- data.frame(x=1:3, y=1:3, m=letters[1:3])
xrange <- yrange <- c(0,4)
cent <- c(2,2)
scal <- c(5,5)
X <- as.ppp(dat, W = owin(xrange, yrange))
Xscaled <- affine(shift(X, vec = -cent), mat = diag(1/scal))
## Check ppx without domain:
Y <- ppx(dat, coord.type = c("spatial", "spatial", "mark"))
Yscaled <- scale(Y, center = cent, scale = scal)
stopifnot(all.equal(coords(Xscaled),
coords(Yscaled),
check.attributes = FALSE))
## Check ppx with domain:
Y$domain <- boxx(xrange, yrange)
Yscaled <- scale(Y, center = cent, scale = scal)
stopifnot(all.equal(as.boxx(Window(Xscaled)),
domain(Yscaled),
check.attributes = FALSE))
## Tests for intersect.boxx:
## Should be unit 2D box:
A <- intersect.boxx(boxx(c(-1,1),c(0,2)), boxx(c(0,3),c(0,1)))
stopifnot(identical(A, boxx(c(0,1),c(0,1))))
## Should be empty (NULL)
B <- intersect.boxx(boxx(c(-1,1),c(0,2)),
boxx(c(0,3),c(0,1)),
boxx(c(1,2), c(-1,1)))
stopifnot(is.null(B))
## Should be unit 3D box:
C <- intersect.boxx(boxx(c(-1,1),c(0,2),c(-1,1)),
boxx(c(0,3),c(0,1),c(0,4)))
stopifnot(identical(C, boxx(c(0,1),c(0,1),c(0,1))))
## Should be empty (NULL)
D <- intersect.boxx(boxx(c(-1,1),c(0,2),c(-1,1)),
boxx(c(0,3),c(0,1),c(0,4)), NULL)
stopifnot(is.null(D))
## Tests for [.boxx with clip:
## Check ppp and ppx subset with clip are the same
X <- cells
WX <- shift(domain(X), vec = c(.5,.5))
X2 <- X[WX, clip=TRUE]
Y <- ppx(coords(X), domain = boxx(c(0,1),c(0,1)))
WY <- shift(domain(Y), vec = c(.5,.5))
Y2 <- Y[WY, clip=TRUE]
stopifnot(all.equal(coords(X2), coords(Y2), check.attributes = FALSE))
stopifnot(all.equal(domain(X2), as.owin(domain(Y2))))
}
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.