
Data generating function for univariate plsR models
Source:R/simul_data_UniYX.R
simul_data_UniYX.RdThis function generates a single univariate response value \(Y\) and a vector of explanatory variables \((X_1,\ldots,X_{totdim})\) drawn from a model with a given number of latent components.
Details
This function should be combined with the replicate function to give rise to a larger dataset. The algorithm used is a port of the one described in the article of Li which is a multivariate generalization of the algorithm of Naes and Martens.
References
T. Naes, H. Martens, Comparison of prediction methods for
multicollinear data, Commun. Stat., Simul. 14 (1985) 545-576.
Morris, Elaine B. Martin, Model selection for partial least squares
regression, Chemometrics and Intelligent Laboratory Systems 64 (2002)
79-89, doi:10.1016/S0169-7439(02)00051-5
.
See also
simul_data_YX and simul_data_complete
for generating multivariate data
Author
Frédéric Bertrand
frederic.bertrand@lecnam.net
https://fbertran.github.io/homepage/
Examples
simul_data_UniYX(20,6)
#> Y X1 X2 X3 X4 X5 X6
#> 7.8534928 3.6772263 1.2704219 -0.6118943 1.7930951 3.4321072 1.5501719
#> X7 X8 X9 X10 X11 X12 X13
#> -0.8686295 2.0100573 1.7038468 3.8596132 2.6043139 -0.4219550 1.2110077
#> X14 X15 X16 X17 X18 X19 X20
#> 0.2172830 1.7189758 3.8655080 2.6094597 -0.4342860 1.2302024 0.1952095
# \donttest{
dimX <- 6
Astar <- 2
simul_data_UniYX(dimX,Astar)
#> Y X1 X2 X3 X4 X5
#> -7.81356732 -0.07559925 -0.06847876 -6.83276548 -0.08570913 -0.10272168
#> X6
#> -6.83233237
(dataAstar2 <- data.frame(t(replicate(50,simul_data_UniYX(dimX,Astar)))))
#> Y X1 X2 X3 X4 X5
#> 1 1.9610973 -2.3509293 -2.3386581 2.1737165 -2.3423275 -2.3666562
#> 2 6.9525150 2.1820444 2.2000678 5.7211901 2.2156663 2.1749880
#> 3 -2.6790420 4.4854521 4.4870089 -3.3807339 4.4745564 4.4898679
#> 4 -2.6108044 -1.2858377 -1.2832786 -1.7721150 -1.2852844 -1.2690856
#> 5 2.9603240 2.9467993 2.9578609 2.0947582 2.9525697 2.9552191
#> 6 8.5528409 -7.3807319 -7.3573840 9.2377232 -7.3739159 -7.3624564
#> 7 -7.2733200 -11.9341857 -11.9472424 -3.3758580 -11.9479603 -11.9300590
#> 8 8.1511724 3.2692408 3.2719758 6.2921909 3.2470642 3.2512238
#> 9 -0.4593410 -7.2533785 -7.2586363 1.1362337 -7.2591694 -7.2504996
#> 10 -0.1694483 -2.1957090 -2.2061237 0.3889643 -2.1950346 -2.1913774
#> 11 5.9465671 -3.6672488 -3.6665887 6.0623161 -3.6801212 -3.6581084
#> 12 -2.7720297 6.5531142 6.5551069 -3.8988251 6.5454468 6.5415288
#> 13 0.5283624 -1.2550099 -1.2518747 0.9026491 -1.2519802 -1.2602006
#> 14 -0.5754277 -3.6806939 -3.6667880 0.5216970 -3.6655677 -3.6765435
#> 15 -1.2846518 5.6515960 5.6435320 -2.6617198 5.6379211 5.6372110
#> 16 -8.7711233 -5.8433278 -5.8293066 -6.2009799 -5.8266485 -5.8352574
#> 17 -1.3650570 -1.4263534 -1.4006373 -0.8765337 -1.4144668 -1.4101477
#> 18 -6.0614505 2.3245663 2.3175988 -5.8744945 2.2957887 2.3111273
#> 19 -2.5263167 4.7333916 4.7143966 -3.3089607 4.7322114 4.7359671
#> 20 -9.7083636 -5.0725728 -5.0726326 -7.1642755 -5.0643955 -5.0744067
#> 21 -6.5809042 -6.5024056 -6.5391720 -4.3118146 -6.5199099 -6.5253843
#> 22 -4.7165225 4.3824212 4.3791757 -4.9657161 4.3862712 4.3745005
#> 23 -6.1947746 -2.6367555 -2.6257029 -4.9169209 -2.6221165 -2.6323716
#> 24 5.0064470 -1.5161843 -1.4968698 4.4735741 -1.4914735 -1.4962912
#> 25 -0.4248363 2.8969269 2.8933179 -0.9115077 2.9049781 2.8896915
#> 26 -3.5014256 -1.1474704 -1.1367143 -2.7867582 -1.1478112 -1.1505058
#> 27 -5.2742745 5.4563674 5.4365618 -5.7534197 5.4690320 5.4428272
#> 28 -1.5323603 -0.6468047 -0.6498111 -1.3104814 -0.6504413 -0.6452237
#> 29 1.2638325 -0.5673165 -0.5670161 1.1523021 -0.5883320 -0.5646307
#> 30 -0.6513703 -0.2120945 -0.2403428 -0.7283493 -0.2214669 -0.2156572
#> 31 8.4672781 6.5360539 6.5118738 5.8008019 6.5291534 6.5577275
#> 32 -7.8304389 -7.7615634 -7.7799257 -5.2067878 -7.7541509 -7.7533843
#> 33 -1.2294632 0.6098052 0.6221162 -1.2981270 0.6103067 0.6292808
#> 34 -2.0053640 -3.5916278 -3.5930431 -0.8533432 -3.5718870 -3.5994429
#> 35 10.3326442 0.8326399 0.8242969 8.8188439 0.8352314 0.8323191
#> 36 3.9156553 3.8005802 3.7770840 2.4413830 3.8013864 3.8042261
#> 37 -13.2694306 -1.4455271 -1.4367998 -11.4380841 -1.4506169 -1.4483815
#> 38 13.4428438 12.0223364 12.0019870 8.8354909 12.0200598 12.0224885
#> 39 10.4029916 10.8848234 10.8683710 6.6929034 10.8676938 10.8788325
#> 40 4.2556091 5.8365312 5.8212118 2.1736602 5.8334738 5.8606369
#> 41 -1.6634178 4.2070586 4.2117281 -2.5339766 4.2106535 4.2046851
#> 42 12.5959233 6.3952090 6.3936081 9.5962776 6.3913491 6.4068746
#> 43 4.6713024 3.4738388 3.4760668 3.1504845 3.5003705 3.4948261
#> 44 7.2821676 7.4432345 7.4669326 4.6036143 7.4754909 7.4417828
#> 45 -1.0771772 0.5218357 0.5247534 -0.9857220 0.5271016 0.5246782
#> 46 -2.2375562 1.9670077 1.9638172 -2.6409513 1.9364672 1.9448805
#> 47 -3.5071578 -8.0064118 -8.0056370 -1.3854502 -8.0241920 -8.0057663
#> 48 -19.2373557 -5.1571791 -5.1763615 -15.5578741 -5.1586521 -5.1636874
#> 49 5.2129174 7.9481503 7.9528420 2.6432805 7.9401317 7.9483231
#> 50 -10.3537501 -4.3196547 -4.3043669 -7.9318404 -4.3057804 -4.3098124
#> X6
#> 1 2.1953168
#> 2 5.7211606
#> 3 -3.3686955
#> 4 -1.7997608
#> 5 2.1028246
#> 6 9.2276743
#> 7 -3.3652029
#> 8 6.2976619
#> 9 1.1236072
#> 10 0.4084809
#> 11 6.0493588
#> 12 -3.8940789
#> 13 0.8864765
#> 14 0.5202993
#> 15 -2.6603212
#> 16 -6.1766387
#> 17 -0.8588043
#> 18 -5.8783804
#> 19 -3.2837214
#> 20 -7.1556823
#> 21 -4.2918165
#> 22 -4.9812506
#> 23 -4.9095009
#> 24 4.4895464
#> 25 -0.9201315
#> 26 -2.8069963
#> 27 -5.7389165
#> 28 -1.2908283
#> 29 1.1474257
#> 30 -0.7361247
#> 31 5.7776312
#> 32 -5.1986632
#> 33 -1.2839230
#> 34 -0.8662764
#> 35 8.8099526
#> 36 2.4598045
#> 37 -11.4539332
#> 38 8.8360836
#> 39 6.6757191
#> 40 2.1637183
#> 41 -2.5432713
#> 42 9.5811605
#> 43 3.1412428
#> 44 4.5967759
#> 45 -1.0240244
#> 46 -2.6419291
#> 47 -1.3859016
#> 48 -15.5406155
#> 49 2.6150623
#> 50 -7.9190022
cvtable(summary(cv.plsR(Y~.,data=dataAstar2,5,NK=100, verbose=FALSE)))
#> ____************************************************____
#> Error in eval(mf, parent.frame()): object 'dataAstar2' not found
dimX <- 6
Astar <- 3
simul_data_UniYX(dimX,Astar)
#> Y X1 X2 X3 X4 X5 X6
#> -8.864856 5.944117 3.093732 -7.326660 5.937950 3.091396 -7.335465
(dataAstar3 <- data.frame(t(replicate(50,simul_data_UniYX(dimX,Astar)))))
#> Y X1 X2 X3 X4
#> 1 6.45605325 -7.72092343 2.05280090 1.659167596 -7.70961024
#> 2 -2.59016484 6.13988685 2.83630002 -1.823902853 6.14495248
#> 3 8.83359863 -1.81620794 1.51797853 6.190841903 -1.83210808
#> 4 3.29512308 -6.38581761 0.71494462 0.009876283 -6.40458523
#> 5 1.97711600 -0.56987349 -7.25431231 5.790397059 -0.57897498
#> 6 7.27145644 6.60142720 6.25693441 5.037661304 6.59800647
#> 7 -4.36767797 4.31116645 0.65865130 -2.715965533 4.31395886
#> 8 4.05952869 -0.42672927 4.08922749 1.072914291 -0.40216811
#> 9 -6.08691712 -0.38887985 2.27881154 -7.095854873 -0.40581772
#> 10 -12.19508017 -4.21238159 -2.72590705 -10.597900914 -4.20196149
#> 11 -8.39438872 -3.29300471 -3.44890537 -6.377023305 -3.28525312
#> 12 -6.87785231 3.47883094 -2.31703819 -3.265631297 3.47027263
#> 13 9.15007977 6.43010881 7.49451530 5.840639596 6.44652528
#> 14 -7.85861217 1.58559066 -1.68296187 -5.485917215 1.59565367
#> 15 3.59322148 10.31306716 6.20687313 3.322716938 10.31696376
#> 16 -11.75945004 -15.63337891 -14.42225896 -7.211895473 -15.62265425
#> 17 -5.80451963 -9.33308238 -0.03722048 -8.724208611 -9.34561122
#> 18 0.08708589 4.96150698 2.89116089 0.121998020 4.95193555
#> 19 -2.89203618 -5.57226736 0.58197365 -4.983804951 -5.56548831
#> 20 -15.83072345 5.77349644 0.68996801 -12.116201463 5.76547741
#> 21 15.10923339 7.02924131 1.68110728 14.817026351 7.02327567
#> 22 6.82835260 -2.40130683 3.44512251 2.865434708 -2.40390633
#> 23 -6.02822915 -3.59055433 -9.47508543 -0.720710694 -3.61764045
#> 24 15.17965684 -7.68533548 1.98235335 9.038717794 -7.68675366
#> 25 -4.05172593 -3.16391585 -3.75300502 -2.384716858 -3.16936566
#> 26 -5.54315875 -4.25187046 -6.30741764 -2.259063577 -4.27092718
#> 27 11.75094632 2.07904404 13.01255998 2.811946747 2.09893141
#> 28 -14.01334701 -6.17431623 0.67212723 -15.316708958 -6.20275980
#> 29 -8.99063336 -6.86507206 -4.54755350 -7.538541793 -6.88050477
#> 30 8.81447365 1.25511307 4.69220398 5.283297087 1.25363298
#> 31 -14.33961780 -1.91855291 -5.41369092 -9.774254205 -1.92753106
#> 32 -10.24702306 -1.54718519 -3.99922939 -7.126495512 -1.55031091
#> 33 -19.81501496 0.63491533 0.61921430 -17.561836920 0.63081993
#> 34 14.67422731 4.19988324 13.10298903 6.349214554 4.20766267
#> 35 10.04505413 -0.86590004 2.77614135 6.773759338 -0.86537194
#> 36 8.59860328 -1.23694997 3.49033436 4.828603439 -1.22169291
#> 37 -3.15276509 -5.64024031 -3.32514934 -2.619864559 -5.63468531
#> 38 -6.42063843 -1.17556390 -6.16289695 -2.083810374 -1.15850606
#> 39 -2.20506053 1.38338307 -3.38541461 0.660211396 1.42140439
#> 40 2.44622532 -3.53427107 4.94508330 -2.639438145 -3.52831495
#> 41 2.38843693 -3.73002080 -3.73262367 2.775938288 -3.73867322
#> 42 1.93595513 -2.65691271 4.04687468 -1.640777702 -2.64689268
#> 43 3.64200569 -1.85684192 -3.48254971 4.738636874 -1.87174925
#> 44 -2.36209932 -0.05103672 -0.76159376 -1.363938132 -0.04101503
#> 45 -0.47475816 4.34365611 -3.51828606 3.477129296 4.32539387
#> 46 3.46545775 -9.10494508 4.51360088 -3.156259471 -9.10666930
#> 47 5.28931070 0.97272271 3.16015902 2.949235641 0.98743575
#> 48 -1.05073542 -7.40413004 3.00706774 -5.498130382 -7.40563502
#> 49 2.69425275 3.58981284 3.91783301 1.326677397 3.56472127
#> 50 4.47249547 -5.72967345 -7.70669290 6.384753517 -5.72116363
#> X5 X6
#> 1 2.05256322 1.65575956
#> 2 2.79948409 -1.84562225
#> 3 1.52718624 6.20910133
#> 4 0.69450136 0.02371784
#> 5 -7.23631438 5.79156449
#> 6 6.22714042 5.04881386
#> 7 0.66884338 -2.72117378
#> 8 4.08879640 1.09518229
#> 9 2.28126864 -7.11386258
#> 10 -2.74377006 -10.61953181
#> 11 -3.44424627 -6.37562513
#> 12 -2.32638511 -3.27131031
#> 13 7.51029443 5.82573703
#> 14 -1.69029591 -5.46866352
#> 15 6.19286102 3.32157622
#> 16 -14.43462543 -7.20766761
#> 17 -0.02518918 -8.73627310
#> 18 2.90719220 0.12024893
#> 19 0.56750370 -4.98552862
#> 20 0.70361360 -12.10086358
#> 21 1.68714524 14.81370663
#> 22 3.42243109 2.86497123
#> 23 -9.46446636 -0.73867182
#> 24 2.00665946 9.05705643
#> 25 -3.75371417 -2.39410849
#> 26 -6.31787192 -2.23715563
#> 27 12.99660540 2.82052330
#> 28 0.68621196 -15.29697600
#> 29 -4.55563154 -7.49894033
#> 30 4.67893952 5.30304901
#> 31 -5.41081848 -9.75706490
#> 32 -3.98419399 -7.12617497
#> 33 0.60365021 -17.54551972
#> 34 13.10968737 6.35470124
#> 35 2.79434146 6.77953153
#> 36 3.50493314 4.82114555
#> 37 -3.32453399 -2.61973652
#> 38 -6.16340707 -2.08470242
#> 39 -3.39565207 0.64963833
#> 40 4.96249316 -2.64330379
#> 41 -3.73815715 2.79939160
#> 42 4.04530300 -1.65276657
#> 43 -3.46219574 4.73926044
#> 44 -0.78267233 -1.35166718
#> 45 -3.48402461 3.47256332
#> 46 4.51560241 -3.13930117
#> 47 3.17825642 2.93068541
#> 48 3.02919079 -5.48373119
#> 49 3.90724251 1.33642057
#> 50 -7.68792625 6.38469175
cvtable(summary(cv.plsR(Y~.,data=dataAstar3,5,NK=100, verbose=FALSE)))
#> ____************************************************____
#> Error in eval(mf, parent.frame()): object 'dataAstar3' not found
dimX <- 6
Astar <- 4
simul_data_UniYX(dimX,Astar)
#> Y X1 X2 X3 X4 X5 X6
#> 8.048918 -1.863209 3.396806 5.292576 1.222016 6.472522 8.374780
(dataAstar4 <- data.frame(t(replicate(50,simul_data_UniYX(dimX,Astar)))))
#> Y X1 X2 X3 X4 X5
#> 1 -1.77641256 0.4115411 -4.56218387 1.1960630 1.1469775 -3.8244258
#> 2 6.23463660 -6.6214269 -1.90406933 5.1577506 -10.2696482 -5.5250943
#> 3 3.92750571 -1.7308594 -5.81644513 6.9667555 -4.1624704 -8.2406965
#> 4 -6.35550479 -10.8442057 0.84909304 -11.1301844 -11.0035509 0.6921580
#> 5 0.03934500 7.1224438 -2.48327899 4.1871260 1.3254061 -8.2675366
#> 6 -8.76393570 4.1389309 -7.63121843 -2.5707619 8.3126030 -3.4613935
#> 7 -3.15681221 -0.7275324 -2.77386926 -1.9111011 -6.2555757 -8.2926269
#> 8 -16.69884070 -7.6346939 -13.13031282 -11.8931888 -5.7002766 -11.1647894
#> 9 -9.85366863 -0.7986350 -0.45242987 -10.1459148 -1.1437113 -0.7661399
#> 10 0.86981247 1.8367643 -0.64387789 2.1514760 7.2307392 4.7351421
#> 11 -4.98100995 -4.3210230 -2.51261121 -5.1972853 -1.2382577 0.5518789
#> 12 3.39236286 12.7249841 8.59178696 2.8613925 3.3748790 -0.7397496
#> 13 -9.24669930 -5.9999891 -1.91644813 -10.4211616 -8.2571586 -4.1834643
#> 14 -7.67213791 -7.8192186 -9.71034165 -4.8660595 -2.2607823 -4.1514450
#> 15 5.15083788 -3.2306410 -1.27955434 4.8438674 -0.5473025 1.4275198
#> 16 4.55105251 1.8893215 3.26159366 3.2174976 2.5850351 3.9655831
#> 17 -5.10682149 3.5838682 -1.87645353 -2.4458349 8.4616320 2.9883012
#> 18 -4.25348491 11.2493504 -4.17417491 2.4407336 10.8734804 -4.5776181
#> 19 -1.77874566 -8.0800437 0.03121758 -4.8324338 -6.6778346 1.4399477
#> 20 3.94719798 3.5094585 4.87421271 2.3541850 -0.6256561 0.7581476
#> 21 -3.38430935 -1.2426808 2.02238166 -5.1678306 -2.0208851 1.2466016
#> 22 12.01818728 -2.3984843 5.57725709 7.8330968 -4.7644359 3.2072818
#> 23 -12.61279263 -2.2002954 -4.72330897 -11.0482930 -1.0509507 -3.5498907
#> 24 2.58737243 4.4235028 -0.22953556 4.5266906 7.2019308 2.5116740
#> 25 15.97726175 -6.3501656 0.69843740 13.3838505 -9.6078606 -2.5298185
#> 26 1.68174286 7.2695675 -4.47694941 7.4356358 2.2218331 -9.5370820
#> 27 -2.79320240 -0.8361479 -2.07808827 -1.7943265 1.6726314 0.4046458
#> 28 -5.73703342 6.1868408 -2.24172058 -2.0775173 6.3198682 -2.1009030
#> 29 -7.57971343 -4.6003839 -0.71122620 -8.6065908 -5.2255522 -1.2996793
#> 30 -1.12707391 1.7532217 -5.16358526 2.6833105 -0.8485092 -7.7438537
#> 31 4.97884536 7.3898760 5.48137075 4.6453851 3.9954249 2.0875971
#> 32 -3.32283981 -5.7531946 -5.54341622 -2.0128015 -2.2812141 -2.0824483
#> 33 -7.44583608 -5.5629710 -6.77146938 -5.5464499 -2.5387476 -3.7594876
#> 34 13.89482272 -0.7709002 -1.56453180 15.0184595 -1.3256778 -2.1179681
#> 35 15.74815708 10.8116611 16.51870248 9.7927376 6.1778806 11.9048088
#> 36 3.53857533 2.0655476 5.64687943 0.8404998 -4.5233691 -0.9312575
#> 37 -11.06599708 -6.3247983 -7.20999781 -9.1206737 -4.1197634 -5.0279389
#> 38 8.01005223 0.3586905 7.99392988 2.9533192 -2.0596482 5.5721603
#> 39 5.41332620 6.1042001 8.58111825 2.6136734 5.0801591 7.5529570
#> 40 -1.65249091 2.0396297 -1.10033292 -0.2636869 -3.4887021 -6.6242978
#> 41 -7.70172023 -6.0981797 -10.66654822 -3.2116036 -1.4287119 -6.0258243
#> 42 -0.24663541 9.1926888 -2.32932224 4.8401932 13.3426849 1.8314400
#> 43 3.02325240 -1.8942737 -0.94462164 2.8455628 0.1956076 1.1633373
#> 44 0.83584527 -2.0298302 5.85037437 -3.5373503 -3.1724998 4.7211671
#> 45 4.23863240 6.9834252 11.45786421 -0.3994674 8.3689005 12.8604890
#> 46 3.66876930 2.1291950 3.30798716 2.5405074 0.5618438 1.7142248
#> 47 -6.88855290 -10.2071499 -0.32659148 -10.5612882 -12.7536954 -2.8798488
#> 48 -7.49804213 -3.0446118 -5.78978609 -5.0111503 -4.5179280 -7.2471886
#> 49 1.55913083 7.5279643 3.72551815 2.1699637 1.2346973 -2.5608219
#> 50 -0.06908791 -5.8657802 4.49635208 -4.9897877 -3.1422002 7.2405862
#> X6
#> 1 1.9220559
#> 2 1.4709387
#> 3 4.5682591
#> 4 -11.2923033
#> 5 -1.6072831
#> 6 1.6179475
#> 7 -7.3960035
#> 8 -9.9186209
#> 9 -10.4717593
#> 10 7.5494498
#> 11 -2.1254348
#> 12 -6.4679925
#> 13 -12.6679010
#> 14 0.7178852
#> 15 7.5365991
#> 16 3.9250053
#> 17 2.4212107
#> 18 2.0161586
#> 19 -3.4043756
#> 20 -1.7238248
#> 21 -5.9649290
#> 22 5.4366591
#> 23 -9.8774513
#> 24 7.2745009
#> 25 10.1233814
#> 26 2.3949084
#> 27 0.6862700
#> 28 -1.9519007
#> 29 -9.2217792
#> 30 0.1045063
#> 31 1.2522265
#> 32 1.4643159
#> 33 -2.5037214
#> 34 14.4615412
#> 35 5.2066172
#> 36 -5.7558748
#> 37 -6.9013042
#> 38 0.5304735
#> 39 1.5990711
#> 40 -5.7728470
#> 41 1.4254237
#> 42 8.9910707
#> 43 4.9453101
#> 44 -4.6734385
#> 45 1.0247105
#> 46 0.9741277
#> 47 -13.1119041
#> 48 -6.4902912
#> 49 -4.0928466
#> 50 -2.2526014
cvtable(summary(cv.plsR(Y~.,data=dataAstar4,5,NK=100, verbose=FALSE)))
#> ____************************************************____
#> Error in eval(mf, parent.frame()): object 'dataAstar4' not found
rm(list=c("dimX","Astar","dataAstar2","dataAstar3","dataAstar4"))
# }