I have two ideas about it. 1- i) Entering variables in quadratic form is done with the command I (variable ^ 2) - plsr (octane ~ NIR + I (nir ^ 2), ncomp = 10, data = gasTrain, validation = "LOO" You could also use a new variable NIR_sq <- (NIR) ^ 2
ii) To insert a square variable, use syntax I (x ^ 2) - it is very important to insert I before the parentheses. iii) If you want to make the interaction between x and x ^ 2 use the command ":" -> x: I(x ^ 2) iv) For multiple interactions between x and x ^ 2 use the command "*" -> x *I (x ^ 2) i) plsr (octane ~ NIR + NIR_sq, ncomp = 10, data = gasTrain, validation = "LOO") I (x ^ 2) ii)p lsr (octane ~ NIR + I(NIR^2), ncomp = 10, data = gasTrain, validation = "LOO") I (x ^ 2) iii)p lsr (octane ~ NIR : I(NIR^2), ncomp = 10, data = gasTrain, validation = "LOO") I (x ^ 2) iv)p lsr (octane ~ NIR * I(NIR^2), ncomp = 10, data = gasTrain, validation = "LOO") I (x ^ 2) 2 - For your regression, did you plan to use MARS instead of PLS? Dear all, > I am using the pls package of R to perform partial least square on a set of > multivariate data. Instead of fitting a linear model, I want to fit my > data with a quadratic function with interaction terms. But I am not sure > how. I will use an example to illustrate my problem: > Following the example in the PLS manual: > ## Read data > data(gasoline) > gasTrain <- gasoline[1:50,] > ## Perform PLS > gas1 <- plsr(octane ~ NIR, ncomp = 10, data = gasTrain, validation = "LOO") > where octane ~ NIR is the model that this example is fitting with. > NIR is a collective of variables, i.e. NIR spectra consists of 401 diffuse > reflectance measurements from 900 to 1700 nm. > Instead of fitting with octane[i] = a[0] * NIR[0,i] + a[1] * NIR[1,i] + ... > I want to fit the data with: > octane[i] = a[0] * NIR[0,i] + a[1] * NIR[1,i] + ... + > b[0]*NIR[0,i]*NIR[0,i] + b[1] * NIR[0,i]*NIR[1,i] + ... > i.e. quadratic with interaction terms. > But I don't know how to formulate this. > May I have some help please? > Thanks, > Kelvin [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.