install.packages("pls")
library(pls)##首先需要这个包
mydata<-read.csv("mydata.csv")##导入自己的数据
x<-as.matrix(mydata[,2:9])##取矩阵2到9列的数据作为x向量
y<-as.matrix(mydata[,1])##取矩阵第一列的数据作为y向量,这两步不是官方做法,待商榷
plsr1<-plsr(y~x, ncomp = 5, validation = "LOO",data=mydata_train)##这里可以根据自己的需要选择不同的检验方式。
plot(RMSEP(plsr1),legendpos("topright")
plot(plsr1,plottype="scores",comps=1:3)
plot(plsr1,plottype="loadings",comps=1:2,legendpos="topright")##各种作图
predict(plsr1,ncomp=2,newdata=mydata_test)##这里mydata应该是分成train和test两部分的,也就是训练集和检验集,方便进行检验
这个代码是进行偏最小二乘回归分析的。
其中较为关键的是自变量和响应变量x和y的数据结构。尤其是对于有大量自变量的x来说。
yarn是pls中自带的数据,其格式较为复杂。但是通过as.matrix的形式强制自己的数据也变成矩阵就可以了。这里可能有更好的方法,但是我不会。
|