Description Usage Arguments Value Author(s) References Examples
Given an object of the cgam class, which has at least two nonparametrically modelled predictors, this routine will make a 3D plot of the fit with a set of two nonparametrically modelled predictors in the formula being the x and y labs. If there are more than two nonparametrically modelled predictors, any other such predictor will be evaluated at the largest value which is smaller than or equal to its median value.
If there is any categorical covariate and if the user specifies the argument categ to be a character representing a categorical covariate in the formula, then a 3D plot with multiple parallel surfaces, which represent the levels of a categorical covariate in an ascending order, will be created; otherwise, a 3D plot with only one surface will be created. Each level of a categorical covariate will be evaluated at its mode.
This routine is extended to make a 3D plot for an object fitted by warpedplane splines or triangle splines. Note that two nonparametrically modelled predictors specified in this routine must both be modelled as addtive components, or a pair of predictors forming an isotonic or convex surface without additivity assumption.
This routine is an extension of the generic R graphics routine persp. See the documentation below for more details.
1 
object 
An object of the cgam class with at least two nonparametrically modelled predictors. 
x1 
A nonparametrically modelled predictor in a cgam fit. If the user omits x1 and x2, then the first two nonparametric predictors in a cgam formula will be used. 
x2 
A nonparametrically modelled predictor in a cgam fit. If the user omits x1 and x2, then the first two nonparametric predictors in a cgam formula will be used. 
... 
Arguments to be passed to the S3 method for the cgam class:

The routine plotpersp returns a 3D plot of an object of the cgam class. The x lab and y lab represent a set of nonparametrically modelled predictors used in a cgam formula, and the z lab represents the estimated mean value or the estimated systematic component value.
Mary C. Meyer and Xiyue Liao
The official documentation for the generic R routine persp: http://stat.ethz.ch/Rmanual/Rpatched/library/graphics/html/persp.html
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64  # Example 1.
data(FEV)
# extract the variables
y < FEV$FEV
age < FEV$age
height < FEV$height
sex < FEV$sex
smoke < FEV$smoke
fit < cgam(y ~ incr(age) + incr(height) + factor(sex) + factor(smoke), nsim = 0)
fit.s < cgam(y ~ s.incr(age) + s.incr(height) + factor(sex) + factor(smoke), nsim = 0)
plotpersp(fit, age, height, ngrid = 10, main = "Cgam Increasing Fit",
sub = "Categorical Variable: Sex", categ = "factor(sex)")
plotpersp(fit.s, age, height, ngrid = 10, main = "Cgam Smooth Increasing Fit",
sub = "Categorical Variable: Smoke", categ = "factor(smoke)")
# Example 2.
data(plasma)
# extract the variables
y < plasma$logplasma
bmi < plasma$bmi
logdietfat < plasma$logdietfat
cholest < plasma$cholest
fiber < plasma$fiber
betacaro < plasma$betacaro
retinol < plasma$retinol
smoke < plasma$smoke
vituse < plasma$vituse
fit < cgam(y ~ s.decr(bmi) + s.decr(logdietfat) + s.decr(cholest) + s.incr(fiber)
+ s.incr(betacaro) + s.incr(retinol) + factor(smoke) + factor(vituse))
plotpersp(fit, bmi, logdietfat, ngrid = 15, th = 120, ylab = "log(dietfat)",
zlab = "est mean of log(plasma)", main = "Cgam Fit with the Plasma Data Set",
sub = "Categorical Variable: Vitamin Use", categ = "factor(vituse)")
# Example 3.
data(plasma)
addl < 1:314*0 + 1
addl[runif(314) < .3] < 2
addl[runif(314) > .8] < 4
addl[runif(314) > .8] < 3
ans < cgam(logplasma ~ s.incr(betacaro, 5) + s.decr(bmi) + s.decr(logdietfat)
+ as.factor(addl), data = plasma)
plotpersp(ans, betacaro, logdietfat, th = 240, random = TRUE,
categ = "as.factor(addl)", data = plasma)
# Example 4.
n < 100
set.seed(123)
x1 < sort(runif(n))
x2 < sort(runif(n))
y < 4 * (x1  x2) + rnorm(n, sd = .5)
# regress y on x1 and x2 under the shaperestriction: "decreasingincreasing"
# with a penalty term = .1
ans < cgam(y ~ s.decr.incr(x1, x2), pen = .1)
# plot the constrained surface
plotpersp(ans)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.