0

Here is my data:

  Sample_ID      Trt Litter_Type Plot Pk_1030 Pk_1040 Pk_1050 Pk_1060 Pk_1150 Pk_1160
1  1-T-R-329 Trenched         Red    1   0.991      NA      NA   1.000      NA      NA
2  1-T-W-258 Trenched       White    1      NA   0.964      NA   0.984      NA      NA
3  1-U-R-396  Control         Red    1   0.768      NA      NA   0.778      NA      NA
4  1-U-W-262  Control       White    1   0.919      NA      NA   0.935      NA      NA
5 10-T-R-307 Trenched         Red   10   0.842      NA      NA   0.848      NA      NA
6 10-T-W-259 Trenched       White   10   0.795      NA      NA   0.808      NA      NA
 Pk_1240 Pk_1260 Pk_1270 Pk_1370 Pk_1380 Pk_1420 Pk_1430 Pk_1510 Pk_1610 Pk_1620 Pk_1640
1      NA      NA   0.631      NA   0.612   0.557      NA   0.499   0.697      NA      NA
2      NA      NA   0.649      NA   0.611   0.563      NA   0.536   0.792      NA      NA
3      NA   0.527      NA      NA   0.502   0.467   0.468   0.453      NA   0.720      NA
4      NA      NA   0.619      NA      NA   0.561      NA   0.536      NA   0.769      NA
5      NA      NA   0.567      NA      NA      NA   0.521   0.499      NA   0.716      NA
6      NA      NA   0.586      NA      NA   0.540      NA   0.536      NA   0.801      NA
 Pk_1650 Pk_1730 Pk_2850 Pk_2920 Pk_2930 Pk_3340 Pk_3350 Pk_3360 Pk_3370 NAG_Activity
1      NA   0.484   0.479      NA   0.644      NA      NA      NA      NA    1647.1900
2      NA   0.509   0.530   0.692      NA       1      NA      NA      NA     429.6296
3      NA   0.419   0.475   0.622      NA      NA      NA   0.997       1    1043.2552
4      NA   0.496   0.541   0.701      NA       1      NA      NA      NA    2480.3522
5      NA   0.436   0.519   0.665      NA      NA   0.999   1.000      NA    2346.0038
6      NA   0.546   0.590   0.745      NA      NA   0.997   0.999       1    1782.2075
 BG_Activity LAP_Activity PX_Activity PropMassLost  CNRatio
1    1664.240      65.1880   0.9910010    0.3555845 58.71084
2    1313.015      81.6370   1.3299610    0.3595539 53.60227
3    1744.150     195.2000   1.3199757    0.3889448 47.79798
4    2632.919     166.9087   0.0354808    0.3833724 52.45055
5    2880.120     193.5611   1.8477293    0.3146816 50.42553
6    1620.891     112.6189   0.5871686    0.3584839 55.27059

I am trying to run a PLS with all of the "Pk_" data points against the "BG_Activity" to figure out if the Peaks can predict BG activity. Here is the code of what I tried:

library(pls)
head(master)
fullmodel <- (plsr(BG_Activity ~ Pk_1030+Pk_1040+Pk_1050+Pk_1060+Pk_1150+ 
                  Pk_1160+Pk_1240+Pk_1260+Pk_1270+Pk_1370+Pk_1380+Pk_1420+ 
                  Pk_1430+Pk_1510+Pk_1610+Pk_1620+Pk_1640+Pk_1650+Pk_1730+ 
                  Pk_2850+Pk_2920+Pk_2930+Pk_3340+Pk_3350+Pk_3360+Pk_3370,
                  data=master, scale=TRUE, validation="CV"))

And here is the error I got back:

Error in cvsegments(nobj, k = segments, type = segment.type) : More segments than observations requested

UseR10085
  • 7,120
  • 3
  • 24
  • 54
Moirajm
  • 1
  • 1
  • Welcome! Could you edit your question to include your data in a more reproducible format? For tips on how to do that, see [here](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – jpsmith Jul 20 '23 at 20:50

1 Answers1

0

When you are using validation = "CV" without other arguments, it uses 10 cross-validation segments, and it might be so that your data has fewer than 10 objects. If you use a larger dataset, it will work. So, you can use segments argument to reduce the folds in your data, like

fullmodel <- (plsr(BG_Activity ~ Pk_1030+Pk_1040+Pk_1050+Pk_1060+Pk_1150+ 
                  Pk_1160+Pk_1240+Pk_1260+Pk_1270+Pk_1370+Pk_1380+Pk_1420+ 
                  Pk_1430+Pk_1510+Pk_1610+Pk_1620+Pk_1640+Pk_1650+Pk_1730+ 
                  Pk_2850+Pk_2920+Pk_2930+Pk_3340+Pk_3350+Pk_3360+Pk_3370,
                  data=master, scale=TRUE, validation="CV", segments = 3))
UseR10085
  • 7,120
  • 3
  • 24
  • 54