以下问题与已发布的以下问题非常相似,但我无法解决: 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" ...