0

以下问题与已发布的以下问题非常相似,但我无法解决: R 中的错​​误:不符合的参数。不对?

我的问题是当使用包'pls'使用外部验证数据计算RMSEP时,我得到以下错误:

newX %*% B[-1, , i] 中的错误:参数不一致

以下是两个数据的功能和结构(分别为“mrv”和“data.frame”):

RMSEP(对象= Yield_13.pls,newdata = val.plsr.data)


>  str(Yield_13.pls)
List of 20
 $ coefficients   : num [1:9, 1, 1:6] -2531.2 -345.4 21.4 1130.3 1192.1 ...
  ..- attr(*, "dimnames")=List of 3
  .. ..$ : chr [1:9] "SpectraR_.1.Check1.IA1022.1801.10006" "SpectraR_.1.Check2.IA2102.1921.10021" "SpectraR_.1.Check2.IA2102.821.10012" "SpectraR_.1.Check3.LD11_2170_PLtbr.1241.10033" ...
  .. ..$ : chr "Yield_13"
  .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
 $ scores         : 'scores' num [1:10, 1:6] -0.7951 -0.0544 -0.1555 -0.0482 0.2944 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:10] "19" "17" "45" "34" ...
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ loadings       : 'loadings' num [1:9, 1:6] -0.8194 -0.1603 -0.0496 0.2848 0.3034 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:9] "SpectraR_.1.Check1.IA1022.1801.10006" "SpectraR_.1.Check2.IA2102.1921.10021" "SpectraR_.1.Check2.IA2102.821.10012" "SpectraR_.1.Check3.LD11_2170_PLtbr.1241.10033" ...
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ loading.weights: 'loadings' num [1:9, 1:6] -0.7407 -0.10108 0.00627 0.33075 0.34885 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:9] "SpectraR_.1.Check1.IA1022.1801.10006" "SpectraR_.1.Check2.IA2102.1921.10021" "SpectraR_.1.Check2.IA2102.821.10012" "SpectraR_.1.Check3.LD11_2170_PLtbr.1241.10033" ...
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ Yscores        : 'scores' num [1:10, 1:6] -2456.2 -1805.2 -335.2 20.8 1156.8 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:10] "19" "17" "45" "34" ...
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ Yloadings      : 'loadings' num [1, 1:6] 3.42e+03 5.33e+03 4.81e-12 1.06e-27 1.06e-27 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr "Yield_13"
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ projection     : num [1:9, 1:6] -0.7407 -0.10108 0.00627 0.33075 0.34885 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:9] "SpectraR_.1.Check1.IA1022.1801.10006" "SpectraR_.1.Check2.IA2102.1921.10021" "SpectraR_.1.Check2.IA2102.821.10012" "SpectraR_.1.Check3.LD11_2170_PLtbr.1241.10033" ...
  .. ..$ : chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ Xmeans         : num [1:9] 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
 $ Ymeans         : num 6295
 $ fitted.values  : num [1:10, 1, 1:6] 3578 6109 5764 6131 7301 ...
  ..- attr(*, "dimnames")=List of 3
  .. ..$ : chr [1:10] "19" "17" "45" "34" ...
  .. ..$ : chr "Yield_13"
  .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
 $ residuals      : num [1:10, 1, 1:6] 261 -1619 196 185 151 ...
  ..- attr(*, "dimnames")=List of 3
  .. ..$ : chr [1:10] "19" "17" "45" "34" ...
  .. ..$ : chr "Yield_13"
  .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
 $ Xvar           : Named num [1:6] 0.997 0.103 1 1 1 ...
  ..- attr(*, "names")= chr [1:6] "Comp 1" "Comp 2" "Comp 3" "Comp 4" ...
 $ Xtotvar        : num 8.1
 $ fit.time       : Named num 0
  ..- attr(*, "names")= chr "elapsed"
 $ ncomp          : num 6
 $ method         : chr "oscorespls"
 $ validation     :List of 9
  ..$ method      : chr "CV"
  ..$ pred        : num [1:10, 1, 1:6] 6168 6518 6002 6518 5945 ...
  .. ..- attr(*, "dimnames")=List of 3
  .. .. ..$ : chr [1:10] "19" "17" "45" "34" ...
  .. .. ..$ : chr "Yield_13"
  .. .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
  ..$ coefficients: NULL
  ..$ gammas      : NULL
  ..$ PRESS0      : Named num 17598765
  .. ..- attr(*, "names")= chr "Yield_13"
  ..$ PRESS       : num [1, 1:6] 17867028 47662897 47662897 47662897 47662897 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr "Yield_13"
  .. .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
  ..$ adj         : num [1, 1:6] 570154 953258 953258 953258 953258 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr "Yield_13"
  .. .. ..$ : chr [1:6] "1 comps" "2 comps" "3 comps" "4 comps" ...
  ..$ segments    :List of 5
  .. ..$ V1: int [1:2] 2 4
  .. ..$ V2: int [1:2] 3 8
  .. ..$ V3: int [1:2] 9 10
  .. ..$ V4: int [1:2] 6 1
  .. ..$ V5: int [1:2] 7 5
  .. ..- attr(*, "incomplete")= num 0
  .. ..- attr(*, "type")= chr "random"
  ..$ ncomp       : num 6
 $ call           : language plsr(formula = Yield_13 ~ Spectra, ncomp = 6, data = cal.plsr.data, method = "oscorespls", scale = FALSE, validat| __truncated__
 $ terms          :Classes 'terms', 'formula'  language Yield_13 ~ Spectra
  .. ..- attr(*, "variables")= language list(Yield_13, Spectra)
  .. ..- attr(*, "factors")= int [1:2, 1] 0 1
  .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. ..$ : chr [1:2] "Yield_13" "Spectra"
  .. .. .. ..$ : chr "Spectra"
  .. ..- attr(*, "term.labels")= chr "Spectra"
  .. ..- attr(*, "order")= int 1
  .. ..- attr(*, "intercept")= int 1
  .. ..- attr(*, "response")= int 1
  .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv> 
  .. ..- attr(*, "predvars")= language list(Yield_13, Spectra)
  .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "character"
  .. .. ..- attr(*, "names")= chr [1:2] "Yield_13" "Spectra"
 $ model          :'data.frame':    10 obs. of  2 variables:
  ..$ Yield_13: int [1:10] 3839 4490 5960 6316 7452 7392 6206 7175 6640 7482
  ..$ Spectra : chr [1:10] "R_.1.Check1.IA1022.1801.10006" "R_.1.Check1.IA1022.1601.10005" "R_.1.Check2.IA2102.1921.10021" "R_.1.Check2.IA2102.821.10012" ...
  ..- attr(*, "terms")=Classes 'terms', 'formula'  language Yield_13 ~ Spectra
  .. .. ..- attr(*, "variables")= language list(Yield_13, Spectra)
  .. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
  .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. ..$ : chr [1:2] "Yield_13" "Spectra"
  .. .. .. .. ..$ : chr "Spectra"
  .. .. ..- attr(*, "term.labels")= chr "Spectra"
  .. .. ..- attr(*, "order")= int 1
  .. .. ..- attr(*, "intercept")= int 1
  .. .. ..- attr(*, "response")= int 1
  .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv> 
  .. .. ..- attr(*, "predvars")= language list(Yield_13, Spectra)
  .. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "character"
  .. .. .. ..- attr(*, "names")= chr [1:2] "Yield_13" "Spectra"
 - attr(*, "class")= chr "mvr"

> str(val.plsr.data)
'data.frame':   5 obs. of  26 variables:
 $ Spectra        : chr  "R_.1.Check1.IA1022.1301.10004" "R_.1.Check2.IA2102.221.10010" "R_.1.Check3.LD11_2170_PLtbr.541.10028" "R_.1.Check4.IA3048.361.10027" ...
 $ Sampling_date  : int  1 1 1 1 1
 $ Date           : chr  "8/19/2019" "8/19/2019" "8/19/2019" "8/19/2019" ...
 $ Check          : chr  "Check1" "Check2" "Check3" "Check4" ...
 $ Cult           : chr  "IA1022" "IA2102" "LD11_2170_PLtbr" "IA3048" ...
 $ Plot           : int  1301 221 541 361 1281
 $ Pl_m           : num  27.6 25.1 31.7 24.8 15.9
 $ Pl_height.1    : num  0.26 0.321 0.241 0.244 0.21
 $ Pl_height.2    : num  0.356 0.451 0.365 0.327 0.241
 $ Pl_height.3    : num  0.594 0.724 0.597 0.54 0.419
 $ Pl_height.4    : num  0.775 0.968 0.879 0.848 0.702
 $ Pl_height.5    : num  0.664 0.867 0.711 0.781 0.638
 $ Growing_rate0_1: num  0.79 1.07 0.75 0.81 0.6
 $ Growing_rate1_2: num  1.36 1.3 1.55 0.83 0.63
 $ Growing_rate2_3: num  1.83 2.1 1.78 1.64 1.37
 $ Growing_rate3_4: num  0.9 1.16 1.35 1.47 1.35
 $ Growing_rate0_5: num  0.55 0.72 0.56 0.62 0.5
 $ DM_perc.4      : num  89.5 90.2 95.2 94.9 80.8
 $ Fresh_bio.4    : int  9960 14988 11912 10079 12578
 $ Dry_bio.4      : int  8912 13526 11340 9561 10168
 $ Adj_Fresh_bio.4: int  10282 14833 11551 10996 12578
 $ Adj_Dry_bio.4  : int  9199 13386 10996 10430 10168
 $ Harvest_index  : num  0.57 0.56 0.55 0.57 0.57
 $ Yield_13       : int  5256 8018 6456 5648 6066
 $ Adj_Yield_13   : int  5426 7935 6261 6162 6066
 $ Spectral_data  : 'AsIs' num [1:5, 1:1901] 0.0198 0.018 0.017 0.0169 0.0177 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:5] "1" "2" "3" "4" ...
  .. ..$ : chr [1:1901] "Wave_500" "Wave_501" "Wave_502" "Wave_503" ...
4

0 回答 0