# NOT RUN {
N <- 125
rawdata <- data.frame(x1 = rnorm(N),
x2 = rnorm(N),
group = sample(letters[1:5], N, replace=TRUE),
z = sample(c("treatment", "control"), N, replace=TRUE),
result = sample(c("win", "lose", "tie"), N, replace=TRUE))
head(rawdata)
P <- length(levels(rawdata$group)) - 1 +
length(levels(rawdata$z)) - 1 +
length(levels(rawdata$result)) - 1 +
sum(unlist(lapply(rawdata, is.numeric)))
# quadratic polynomial, includes interactions
# since maxInteractDeg defaults to deg
X <- getPoly(rawdata, 2)$xdata
ncol(X) # 40
# cubic polynomial, no interactions
X <- getPoly(rawdata, 3, 1)$xdata
ncol(X) # 13
# cubic polynomial, interactions
X <- getPoly(rawdata, 3, 2)$xdata
ncol(X) # 58
# cubic polynomial, interactions
X <- getPoly(rawdata, 3)$xdata
ncol(X) # 101
# making final column the response variable, y
# results in TRUE (fewer columns)
ncol(getPoly(Xy=rawdata, deg=2)$xdata) < ncol(getPoly(rawdata, 2)$xdata)
# preparing polynomial matrices for crossvalidation
# getPoly() returns a polyMatrix() object containing XtestFormula
# which should be used to ensure factors are handled correctly out-of-sample
Xtrain <- getPoly(rawdata[1:100,],2)
Xtest <- getPoly(rawdata[101:125,], 2, modelFormula = Xtrain$XtestFormula)
# }
Run the code above in your browser using DataLab