Description Usage Arguments Value References Examples
Samples points uniformly on curves interpolated as linear consequent segments.
1 | sample.curves(curves, ptsPerCurve = as.integer(c(500)))
|
curves |
A list where each element is a function being a list
containing a matrix |
ptsPerCurve |
A vector of numbers of points to be sampled on each
curve. If |
A list of curves with each entry being a list constiting of [[1]]
the drawn curve being a matrix named coords
, [[2]] length of the
curve as in curves
named length.init
, and [[3]] length of the
drawn curve named length
.
Lafaye De Micheaux, P., Mozharovskyi, P. and Vimond, M. (2018). Depth for curve data and applications.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | library(curveDepth)
# Load digits and transform them to curves
data("mnistShort017")
n <- 10 # cardinality of each class
m <- 50 # number of points to sample
cst <- 1/10 # a threshold constant
alp <- 1/8 # a threshold constant
curves0 <- images2curves(mnistShort017$`0`[, , 1:n])
curves1 <- images2curves(mnistShort017$`1`[, , 1:n])
set.seed(1)
curves0Smpl <- sample.curves(curves0, 2 * m)
curves1Smpl <- sample.curves(curves1, 2 * m)
# Calculate depths
depthSpace = matrix(NA, nrow = n * 2, ncol = 2)
depthSpace[, 1] = depth.curve.Tukey(
c(curves0Smpl, curves1Smpl), curves0Smpl,
exactEst = TRUE, minMassObj = cst/m^alp)
depthSpace[, 2] = depth.curve.Tukey(
c(curves0Smpl, curves1Smpl), curves1Smpl,
exactEst = TRUE, minMassObj = cst/m^alp)
# Draw the DD-plot
plot(NULL, xlim = c(0, 1), ylim = c(0, 1),
xlab = paste("Depth w.r.t. '0'"),
ylab = paste("Depth w.r.t. '1'"),
main = paste("DD-plot for '0' vs '1'"))
grid()
# Draw the separating rule
dat1 <- data.frame(cbind(
depthSpace, c(rep(0, n), rep(1, n))))
ddalpha1 <- ddalpha.train(X3 ~ X1 + X2, data = dat1,
depth = "ddplot",
separator = "alpha")
ddnormal <- ddalpha1$classifiers[[1]]$hyperplane[2:3]
pts <- matrix(c(0, 0, 1, ddnormal[1] / -ddnormal[2]),
nrow = 2, byrow = TRUE)
lines(pts, lwd = 2)
# Draw the points
points(depthSpace[1:n, ],
col = "red", lwd = 2, pch = 1)
points(depthSpace[(n + 1):(2 * n), ],
col = "blue", lwd = 2, pch = 3)
|
Loading required package: Rcpp
Loading required package: ddalpha
Loading required package: MASS
Loading required package: class
Loading required package: robustbase
Loading required package: sfsmisc
Loading required package: geometry
Selected columns: X3, X1, X2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.