##
## one argument: y
##
argvalsy.swap(1:5)
# warning ...
##
## (argvals, y), same dimensions: retain order
##
argy1 <- argvalsy.swap(seq(0, 1, .2), 1:6)
argy1a <- argvalsy.swap(1:6, seq(0, 1, .2))
stopifnot(
all.equal(argy1[[1]], argy1a[[2]]) &&
all.equal(argy1[[2]], argy1a[[1]])
# TRUE; basisobj different
)
# lengths do not match
argvalsy.swap(1:4, 1:5)
##
## two numeric arguments, different dimensions: put simplest first
##
argy2 <- argvalsy.swap(seq(0, 1, .2), matrix(1:12, 6))
stopifnot(
all.equal(argy2,
argvalsy.swap(matrix(1:12, 6), seq(0, 1, .2)) )
# TRUE with a warning ...
)
argvalsy.swap(seq(0, 1, .2), matrix(1:12, 2))
# ERROR: first dimension does not match
##
## one numeric, one basisobj
##
argy3 <- argvalsy.swap(1:6, b=4)
# warning: argvals assumed seq(0, 1, .2)
argy3. <- argvalsy.swap(1:6, b=create.bspline.basis(breaks=0:1))
# warning: argvals assumed seq(0, 1, .2)
argy3.6 <- argvalsy.swap(seq(0, 1, .2), b=create.bspline.basis(breaks=1:3))
# warning: argvals assumed seq(1, 3 length=6)
##
## two numeric, one basisobj: first matches basisobj
##
# OK
argy3a <- argvalsy.swap(1:6, seq(0, 1, .2),
create.bspline.basis(breaks=c(1, 4, 8)))
# Swap (argvals, y)
stopifnot(
all.equal(argy3a,
argvalsy.swap(seq(0, 1, .2), 1:6,
create.bspline.basis(breaks=c(1, 4, 8))) )
# TRUE with a warning
)
# neither match basisobj: error
argvalsy.swap(seq(0, 1, .2), 1:6,
create.bspline.basis(breaks=1:3) )
Run the code above in your browser using DataLab