inst/doc/msir.R

## ----setup, include=FALSE-----------------------------------------------------
library(knitr)
opts_chunk$set(fig.align = "center", 
               out.width = "70%",
               fig.width = 5, fig.height = 4,
               dev.args=list(pointsize=10),
               par = TRUE, # needed for setting hook 
               collapse = TRUE, # collapse input & ouput code in chunks
               warning = FALSE)
knit_hooks$set(par = function(before, options, envir)
  { if(before && options$fig.show != "none") 
       par(mar=c(4.1,4.1,1.1,1.1), mgp=c(3,1,0), tcl=-0.5)
})

# setupKnitr()
# knit_hooks$set(rgl = hook_webgl)

set.seed(1) # for exact reproducibility

## -----------------------------------------------------------------------------
library(msir)

## -----------------------------------------------------------------------------
n <- 200
p <- 5
b <- as.matrix(c(1,-1,rep(0,p-2)))
x <- matrix(rnorm(n*p), nrow = n, ncol = p)
y <- exp(0.5 * x%*%b) + 0.1*rnorm(n)
MSIR <- msir(x, y)
summary(MSIR)
plot(MSIR, type = "evalues")
plot(MSIR, type = "coefficients", which = 1)
plot(MSIR, type = "2Dplot")

## -----------------------------------------------------------------------------
n <- 200
p <- 5
b <- as.matrix(c(1,-1,rep(0,p-2)))
x <- matrix(rnorm(n*p), nrow = n, ncol = p)
y <- (0.5 * x%*%b)^2 + 0.1*rnorm(n)
MSIR <- msir(x, y)
summary(MSIR)
plot(MSIR, type = "evalues")
plot(MSIR, type = "coefficients", which = 1)
plot(MSIR, type = "2Dplot")

## -----------------------------------------------------------------------------
n <- 300
p <- 5
b1 <- c(1, 1, 1, rep(0, p-3))
b2 <- c(1,-1,-1, rep(0, p-3))
b <- cbind(b1,b2)
x <- matrix(rnorm(n*p), nrow = n, ncol = p)
y <- x %*% b1 + (x %*% b1)^3 + 4*(x %*% b2)^2 + rnorm(n)
MSIR <- msir(x, y)
summary(MSIR)
plot(MSIR, type = "evalues")
plot(MSIR, type = "coefficients", which = 1:2)
plot(MSIR, which = 1:2)
plot(MSIR, which = 1, type = "2Dplot", span = 0.7)
plot(MSIR, which = 2, type = "2Dplot", span = 0.7)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1, fig.width = 4, fig.height = 4----
plot(MSIR, type = "spinplot")
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1, fig.width = 4, fig.height = 4----
plot(MSIR, type = "spinplot", span = 0.75)
rgl::rglwidget(width=500, height=450)

## -----------------------------------------------------------------------------
x1 <- rnorm(100)
x2 <- rnorm(100)
y  <- 2*x1 + x2^2 + 0.5*rnorm(100)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x1, y, x2)
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x1, y, x2, scaling="aaa")
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x1, y, x2, rem.lin.trend = "TRUE")
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x1, y, x2, fit.smooth = TRUE)
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x1, y, x2, fit.ols = TRUE)
rgl::rglwidget(width=500, height=450)

## -----------------------------------------------------------------------------
x <- iris[,1:3]
y <- iris[,5]

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x)
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x, markby = y)
rgl::rglwidget(width=500, height=450)

## ---- eval=requireNamespace("rgl", quietly = TRUE), echo=1--------------------
spinplot(x, markby = y, pch = c(0,3,1), 
         col.points = c("lightcyan", "yellow", "lightgreen"), 
         background = "black")
rgl::rglwidget(width=500, height=450)

## ---- echo=-1-------------------------------------------------------------------------------------
options(width=100)
sessionInfo()

Try the msir package in your browser

Any scripts or data that you put into this service are public.

msir documentation built on Jan. 13, 2021, 12:50 p.m.