如何通过plsr获得R的权重矩阵?

如何通过plsr获得R的权重矩阵?,r,matrix,least-squares,R,Matrix,Least Squares,我在R中使用plsr包,使用SIMPLS方法,但这没有给我权重矩阵W,有人可以帮助我,告诉我如何创建或获得这个W矩阵?这是我代码的一部分: plsr(Y ~ X, ncomp, validation = "CV", dframe = T, method = "SIMPLS") 我需要W矩阵来实现VIP方法 library(pls) #only for preloaded data library(plsdepot) plsreg1(yarn$NIR, yarn$density) #using

我在R中使用plsr包,使用SIMPLS方法,但这没有给我权重矩阵W,有人可以帮助我,告诉我如何创建或获得这个W矩阵?这是我代码的一部分:

plsr(Y ~ X, ncomp, validation = "CV", dframe = T, method = "SIMPLS")
我需要W矩阵来实现VIP方法

library(pls) #only for preloaded data
library(plsdepot)
plsreg1(yarn$NIR, yarn$density) #using preloaded yarn dataset from pls library

PLS Regression 1
--------------------------------------------
$x.scores     X-scores (T-components)
$x.loads      X-loadings
$y.scores     Y-scores (U-components)
$y.loads      Y-loadings
$cor.xyt      score correlations
$raw.wgs      raw weights
$mod.wgs      modified weights
$std.coefs    standard coefficients
$reg.coefs    regular coefficients
$R2           R-squared
$R2Xy         explained variance of X-y by T
$y.pred       y-predicted
$resid        residuals
$T2           T2 hotelling
$Q2           Q2 cross validation
--------------------------------------------
我们可以通过以下方式获取原始重量:

#Example of first 5 rows of weights matrix.
head(plsreg1(yarn$NIR, yarn$density)$raw.wgs #or plsreg1(yarn$NIR, yarn$density)[6]

     w1          w2
X1 0.01716477 -0.04809644
X2 0.03875600 -0.06025352
X3 0.04857839 -0.06807797
X4 0.05023674 -0.07540982
X5 0.04571729 -0.08515648
X6 0.03690089 -0.09647263

$mod.wgs修改权重也是如此

请向我们提供数据(即什么是
T
?),并更彻底地解释问题。“但这没有给我权重矩阵W”-命令
plsr
是否假设返回一个W矩阵?如果是,并且它没有返回,那么您是否收到警告消息或错误?另外,在传递过程中-
dframe
method=simples
的大写字母看起来很奇怪,请尝试使用
plsr(Y~X,ncomp,validation=“CV”,data=T,method=“simples”)
T=TRUE
。事实上,代码运行得很好,在Matlab中,
plsregress
(包)返回一个W矩阵(权重矩阵),但在R中,
plsr
没有这个选项,我需要一个替代方法来获得W矩阵。这是matlab的实现,它是什么权重矩阵?我也试过代码,它会返回一个错误,除非使用小写的simples。你是对的,它是小写的,我的抄本是错的,但这不是问题所在,Thnx