Nothing
## ----include=FALSE------------------------------------------------------------
# the code in this chunk enables us to truncate the print output for each
# chunk using the `out.lines` option
# save the built-in output hook
hook_output <- knitr::knit_hooks$get("output")
# set a new output hook to truncate text output
knitr::knit_hooks$set(output = function(x, options) {
if (!is.null(n <- options$out.lines)) {
x <- xfun::split_lines(x)
if (length(x) > n) {
# truncate the output
x <- c(head(x, n), "....\n")
}
x <- paste(x, collapse = "\n")
}
hook_output(x, options)
})
## ---- message=FALSE, results='hide'-------------------------------------------
library(multiview)
## -----------------------------------------------------------------------------
quick_example <- readRDS(system.file("exdata", "example.RDS", package = "multiview"))
x <- quick_example$x
z <- quick_example$z
y <- quick_example$y
## -----------------------------------------------------------------------------
fit <- multiview(list(x,z), y, family=gaussian(), rho=0)
## -----------------------------------------------------------------------------
x <- scale(x,TRUE,FALSE)
x[is.na(x)] <- 0
z <- scale(z,TRUE,FALSE)
z[is.na(z)] <- 0
## -----------------------------------------------------------------------------
plot(fit)
## ----out.lines = 10-----------------------------------------------------------
print(fit)
## -----------------------------------------------------------------------------
set.seed(1)
nx <- matrix(rnorm(5 * 50), 5, 50)
nz <- matrix(rnorm(5 * 50), 5, 50)
predict(fit, newx = list(nx, nz), s = c(0.1, 0.05))
## ----out.lines = 10-----------------------------------------------------------
coef(fit, s = 0.1)
## ----out.lines = 10-----------------------------------------------------------
coef_ordered(fit, s=0.1)
## -----------------------------------------------------------------------------
cvfit <- cv.multiview(list(x,z), y, rho=0.1, family = gaussian(),
type.measure = "mse", nfolds = 20)
## -----------------------------------------------------------------------------
plot(cvfit)
## ----out.lines = 10-----------------------------------------------------------
cvfit$lambda.min
coef(cvfit, s = "lambda.min")
## -----------------------------------------------------------------------------
predict(cvfit, newx = list(x[1:5,],z[1:5,]), s = "lambda.min")
## -----------------------------------------------------------------------------
quick_example <- readRDS(system.file("exdata", "example_contribution.RDS",
package = "multiview"))
rho <- 0.3
view.contribution(x_list=list(x=quick_example$x, z=quick_example$z), quick_example$y,
rho = rho, family = gaussian(), eval_data = 'train')
## -----------------------------------------------------------------------------
view.contribution(x_list=list(x=quick_example$x, z=quick_example$z, w=quick_example$w),
quick_example$y, rho = rho, eval_data = 'train', family = gaussian(),
force=list(x=quick_example$x))
## -----------------------------------------------------------------------------
view.contribution(x_list = list(x = quick_example$x, z = quick_example$z),
quick_example$y, rho = rho,
x_list_test = list(x = quick_example$test_X, z = quick_example$test_Z),
test_y = quick_example$test_y, family = gaussian(), eval_data = 'test')
## -----------------------------------------------------------------------------
uvar <- function(x, means = FALSE) {
# if means = TRUE, the means and variances are returned,
# otherwise just the variances
m <- colMeans(x)
n <- nrow(x)
x <- x - outer(rep(1,n),m)
v <- colSums(x^2) / (n - 1)
if (means) list(mean = m, var = v) else v
}
uvar_multiple <- function(x_list) lapply(x_list, function(x) uvar(x))
vfilter <- function(x_list, q = 0.3, ...) {
v <- uvar_multiple(x_list)
lapply(v, function(x) which(x < quantile(x, q)))
}
## -----------------------------------------------------------------------------
set.seed(1)
x <- matrix(rnorm(100 * 20), 100, 20)
z <- matrix(rnorm(100 * 20), 100, 20)
y <- rnorm(100)
fit.filter <- multiview(list(x,z), y, exclude = vfilter)
## -----------------------------------------------------------------------------
cvfit.filter <- cv.multiview(list(x,z), y, exclude = vfilter)
## ---- eval=FALSE--------------------------------------------------------------
# fit <- multiview(list(x,z), y, trace.it = TRUE)
## ---- eval = FALSE------------------------------------------------------------
# fit <- cv.multiview(list(x,z), y, trace.it = TRUE)
## ---- eval=FALSE--------------------------------------------------------------
# multiview.control(itrace = 1)
## -----------------------------------------------------------------------------
example_binomial <- readRDS(system.file("exdata", "example_binomial.RDS",
package = "multiview"))
x <- example_binomial$x
z <- example_binomial$z
y <- example_binomial$by
## -----------------------------------------------------------------------------
multiview.control(mxitnr = 100)
fit <- multiview(list(x=x,z=z), y, family = binomial(), rho = 0)
multiview.control(factory = TRUE)
## -----------------------------------------------------------------------------
predict(fit, newx = list(x[5:10,],z[5:10,]), type = "class", s = c(0.05, 0.01))
## ---- warning=FALSE-----------------------------------------------------------
cvfit <- cv.multiview(list(x = x, z = z), y, family = binomial(),
type.measure = "deviance", rho = 0.5)
## -----------------------------------------------------------------------------
plot(cvfit)
## -----------------------------------------------------------------------------
example_poisson <- readRDS(system.file("exdata", "example_poisson.RDS",
package = "multiview"))
x <- example_poisson$x
z <- example_poisson$z
y <- example_poisson$py
## -----------------------------------------------------------------------------
fit <- multiview(list(x=x, z=z), y, family = poisson(), rho = 0)
## -----------------------------------------------------------------------------
plot(fit)
## ----out.lines = 7------------------------------------------------------------
coef(fit, s = 1)
predict(fit, newx = list(x[1:5,],z[1:5,]), type = "response", s = c(0.1,1))
## ---- warning = FALSE, error = TRUE-------------------------------------------
cvfit <- cv.multiview(list(x,z), y, family = poisson(), rho = 0.1)
## -----------------------------------------------------------------------------
multiview.control(mxitnr = 100)
cvfit <- cv.multiview(list(x,z), y, family = poisson(), rho = 0.1)
## -----------------------------------------------------------------------------
multiview.control(factory = TRUE)
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.