I see. Thank you for the help.
On Thu, Jul 13, 2017 at 10:43 PM, Bert Gunter <bgunter.4...@gmail.com> wrote: > Below. > > -- Bert > Bert Gunter > > > > On Thu, Jul 13, 2017 at 3:07 AM, Luigi Biagini <luigi.biag...@gmail.com> > wrote: > > 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. > > True, but better I believe: see ?poly. > e.g. poly(cbind(x1,x2,x3), degree = 2, raw = TRUE) is a full quadratic > polynomial in x1,x2,x3 . > > > > > > 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. > > ______________________________________________ > 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. > [[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.