From 5576fdd023d52813e318366cc6a91f5dd325ff2d Mon Sep 17 00:00:00 2001 From: mb706 Date: Thu, 8 Aug 2024 07:13:30 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20mlr-org/?= =?UTF-8?q?mlr3misc@36cac4a2a7fe3519cc60cda3b4794ae1d92be6a3=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KFOmCnqEu92Fr1Mu4WxKOzY.woff2 | Bin 7112 -> 7096 bytes .../Roboto-0.4.9/KFOmCnqEu92Fr1Mu4mxK.woff2 | Bin 15744 -> 18536 bytes .../KFOmCnqEu92Fr1Mu5mxKOzY.woff2 | Bin 9628 -> 9852 bytes .../KFOmCnqEu92Fr1Mu72xKOzY.woff2 | Bin 15344 -> 15336 bytes .../KFOmCnqEu92Fr1Mu7GxKOzY.woff2 | Bin 11872 -> 12456 bytes .../KFOmCnqEu92Fr1Mu7WxKOzY.woff2 | Bin 5560 -> 5796 bytes .../KFOmCnqEu92Fr1Mu7mxKOzY.woff2 | Bin 1484 -> 1496 bytes dev/news/index.html | 3 ++- dev/pkgdown.yml | 2 +- dev/reference/crate.html | 2 +- dev/reference/encapsulate.html | 4 ++-- dev/search.json | 2 +- 12 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 index fc71d944a5838fcf1a870298679652ccc81ee878..a7f32b6f05ab0e473a38ca47efaf58724dff8315 100644 GIT binary patch literal 7096 zcmV;p8%N}KPew8T0RR9102{af5&!@I06Dk-02@~T0RR9100000000000000000000 z0000QSR0H|95e=C0D=w(R0)GT5ey2?bjKYFflL4rZ~-;~Bm;vK1Rw>1bO#^|f=L@+ zGcyCh#sLtpt8JpF+B_6Rsi3@+{Fe!IikNWSrYubAu$GTt*)(+ycQFqw<4En}iV&JQ zZ*$Za@?^3pTTxmfHX3Ab@jdbcCCYtwkj_KQNowgCv{M7661=2+agZwd#C@ zCRx?j&^*v;#zs&>kp9Ec-B^xx(-c!oNTeJ$bpKpNTl$$`BvFGAb^f0zzzP6Va(a4* zjUD3VhEOO7gMn~3NJt105rt&Rg5)TK6zha^8-yTWIbJ!4BaW(S0`29i=O;mX_59ET zXm99SHVs+?Apa4dTz}>KG>Cx$6a);Y^&?VPnMHtlMB%B)>=(Hj2tea3IR;tCQ4SHf zb#B1%F)3FqcrI1vv`o+Wo^hnITW1f~tQgoWJ2?!NxDYBFhwr?_|6HxB5^$Q8(2!b+qLIGM=N54CWg`R8sn?)UvrgUmiCHtx zl?!xEu{46&7S6s%u%bC5Lu47D`SP>ed5=jDUt(|xa6mCY;fd!72YHLlroqF)yfkTZ zIvqmp9zX%|3rCL3iJx(2iiZN7LrfO=a)1lM7aR(Ar(YG#G>kJhy2+EV+sMf^S5EoJ z-=jc~L2@lPduNVxlj$d<*fL<$Byh`pER_rP1yT!LUdowCbk4BUd^xfAFb2n(F`KBMrdlFGq3bRv;99$eBd>4C z1vW)P^WNa4l!a3zI1)R@HqU$}7#tY8d<7pEeNzoLtkAC*xYZeB(PkslU- zYq!3m93lYY>EQ=uW4K!T(QpNDN&)wzctJ;>Tw4lxp#3(%e*jm_&Qu_w7XW>~!6T9I zIM8T~-9fcV_zNjOVE-!>NSE54wyzy&mmA;iZ_l?^+8gbi{4ZeJ*$=d%?P^jfj1$z6aHf&cFL?{0v!oZ=_`8~bmV&|o9`jCB-jB1`rep1CTWRt}w9dGhHQlqpxi zs8SV^YBfl;%<5Ra5XhRJMFyKD&04f-6W6W-t4lYpPCgv}S4uo2tmhBGpN`vko9wa5 zTL#r=w^OecftuwZOAdGnSYzQWsh&kPGg*&G>iek&FKJ4XTyD@zk5NwV69VR_<9SKl zIg1D#IQKsEf7E=NVNrtjTtov=n~=q0MLg==5g0W`?oDYPr#30!aobT1ZPp|5liX82 zxQ8quZ~6v#!Um1k(_HR}vnd`L&lzJwo6a#KFRr`nJrs|}>O2vP6JkJM4S5%Z-x+bT zwIl@8@wbNCPid=f<2M!QkXIDfrOjk9|5#g)rC+a%$7u*<8oXisSejraDi^wARLo+X zo~*ps4)KTgAfYwQZ>qa=d#v%zTpl~-eF)k)@cb1!k3o`-LiVFdR!U_p+EUjJ ztCCjfU{gvp7CWL+92wRQg^1F%N)7p-)gLgDwnED5Fr=FrewQulvAMkwBa%xQQLiuN zcCY{y>oilzR0oO`RxMDW2Z=ZEaDIqWK8V1CA_DbTaa!?&9nFoMC+5YNqk>a}648RU ziiB>#8J14b<$3PcgoPB;_`!zVh}y#)u48l1W>INp(!AI#C)2u){>_eJUiTIcZnQxi z?V#ThVA?$B>Z*fO3~qqAj)|G7&oz+V4_inuJ~NAz8LU=#t;*{Tx=lV_hMG}{mEnPx zBs{nSV8RgnyG)vhzxB`$$7#gEbOG`%1sBYD|Kj+CM^0qyq0>Br${AM{((t1V)#}q| zVU}BbI(I<4=TtiK`m#Md<%Nc7m2<4o94|K;$7IFPJDp#ODymz)x-LT?YA7_JL&oGS ztOYmD$f^}q20u&DjYv^U0J3d~}5uQ^vf{utc(_ddB4)?Rqtz^`RjKmP^X`Cs;5-T&)!?Q$wT z#>rOM)_ZdKFVUY5)Zs!ElDMaAjIEp#m5=@N#WO3@`f&mU8JzREbl%Fh+b$6$J@4x~ z`X|KOya@^#Hn&c%TTIa;u4!!~txZ<}qeH%>>5$bowvg4PXfF(b@jo;4cYk5PyM_J! z#?^;FQsMnk8&!prcglKBbv-*z0^BB)RA4wM$r zgS$)aBEK$f00GKD%6m&2sINOP|M@qotK5ER+#}ri!(EqEDby(vNR=0ZFo*lW?sIM(NmF}#AUjl7DjpJiVZ))mzeKGC`=x+0XP$}G;bwWa}$0$~Uz zq9r(kukkqcOk=ZN%SPadD%leWRFf}dKQ;yPSP8BCI|ow4{y2G}-hG+4t8*XYPIwT$mU=T5Wdo$#If=Edd{cqko*CyIy!A5g@|0&{zE! zXkcVuOf)PsD+vVE=t$A@jLs|h^gN+56fZm1;pMyMp``S*5kiB^o!}M3HuLzeK^4mR z+t|6{mV_uJa7i}gt)st@W+);TLqRYuocHW%H8O3JNa%{Ps-HN8kHA+5nxIkGS~?dO zTQWNpTf6#}CAI?P!zpc%?(_Unewa;P!N1-q)O~9P0;S``@AJwe6IV5d_|cx+XPE2{ zdl>C%T6!~)xqV3ZSY5I8rAK{SX#f!As_SjTa%W`CZ0KYO)`vCdD*D&~a`uw?@)k~k z60W(Q;AvX#vp96$?g=ZMW7= z&G6;X8pjq}n@4*1a+~6U%6st_vC#<^djc3iVQkt@g2Z$1ZWi+dL{#g6whRoET})^4 zQ-~C$aX9mRVa4Og*6AQO#cxZPqb6oyA)w*FVTHA(-6O}aR1$g}1zAY$fRfJIDhrZC z@cSf{1Ujr)MCE38fu{;89;OshX}=M;wv-9c4yra%huWo(YYLl5V&!Ueo(F5^K1i#W z%aVL13eWK_0rvuF4}@Hd=*tR|wH38>r2M_ynO4?UR+ne&DM(=X`I=Sw7o>Bs#XLOz z=nV-1D1La1`aq(mVw>I&lQlMuPTh)nmadJ>waFc)=_JX|9e`z6WR=j*MfRUl+jy`fTN`KOAOHvK~2As|y@9q+#KCpF4LjK#QpVD%xm$@id zS4w*j*(Gfg?OuQp9n2=GY#@#^m|!v^bK()79?|wMv3{tNlQD!pds^6#-%=zNGOR8f zEo7-DJk6h_X5xCv5SSFd&Sc8K zbQ-@F>9y+|@~|3QM%+&fE_+xFb@bYK%*o8m5Z?(Wg@8%3({QHkKm2~LFDsYoZ+R}n zv_})na~o_YE4#8^F3+W{p6dPTn_J56nJ6US=;6xg;8Prp!uw+R=G$d28Mq#8ursj&wg@Sh6W`W(<4CAwN1T>(ggx`mN~yPAtSNpRVZ zwEdGU%3TaJke_?C+N_PmI&=W0*aIj~=PT9Vf=h|?FOZpleDOyQ)9*!Zl!9JvwPS&} ziO{$M5=@<1#ocvW~ z{zZ|Sc~?Ih^fi81`&$dj<2U~3;@63a$`71A0Y$lh*j#u4Mi>dS_~(_oLiDL<^5I?h z9KHp4CS_NOQ$Dm{hTZuw1h#t%h$J|-)9nW?Q1Z31U}TR(f60QC8AwPX=Sqwa+fI!Y z9hd`nK;7nZ3P8KHB|6;GK^-LcYvXlq!pHC>;Enn22_N3^nQz1lCYVMP&k+aV6xXs`uT)l3I9y|-96*hyyn_TGlV)Jl=y8r1c?bo&>k*k~ z!Td`zLj(l281h%sH9kNYAj$%vKg2|wvC13K-kK4v&2asUX2^R#Vm;4t$Ro=!btBNC z{#Ty)BTjDSPy8NFxtBnyey zeAf#Thyz6>8H$L^n5h+(d>dnXg=Hhtbu~^w%0vDhWYCVO_69Ae?5Z+M=l_7Lz5&gA zr+_eleAoPmHuurjz==?yN$(=*+-RGh^Qj1%M%4%-TAdZ=1;e{o%q$i-V{pR^HMXRS z#>(4?&3jb7I$(k+gkLh`#t?Jq8#&~chMAg!9kCptgsL>rFb&3@u~cyf$pY6u4a~b#_(wE)Su{QfifqT zZnW|OwilO7M|l-~ELFS(0=1vq9-?%m&8~?+pbtX=mpSVBT@2W@(b5JHksGEWpYas8 zFYTQ&U5sXTXT;gNYqC=jNhE#GQLi$it0z;m`(l?l@3dw9Ct@${6_DjV6Z4Qh4@8;_ zq}-&lVc$o~x%1u3X(Kq*X%dQf$qPtrFxhLsz*f?DJdr~yN!VuhIjmcvb?O*nlc`Il zS&R_6DN4`uH}IJsR5z(F&4>P@=xce=-^nMOy_U@V1d-)0{{QpPp*K4`iimlpoNlVC z$bLc#WSC;};{1%pr^^CrhjFP4U?K#o1JLb`Yn46GEOvO*JnA)tzGV4CbvdG{*6PU3 zt3c(0qtZPnO$y{>zmC7@HAInFo(N(Hmj z@X3&P`zq{nh?$%*wWlQtVF*xbb~Jh2L%B+}=rd^+5t?22>|j2BI?_6vn$JMx*&u*R z|GgSx_~s}=?CrV3+p zGv@;>D2=Q1Kx~sz%|jUx)7yO&(;=^!=~h^(vBD~2Mvq{ls_=2Cqnx_9XXduD^#e` z>Zfy;2Sf`h#6Tq(?jX!TnoZkB_R@4#Wv$)eVezIzhB5BR-^HdM9kLek{)c{p-FOI6 zNQCmBefWwFC4Ck<(Oo0ukZ=0;Z3hfZK$}G630cE2!l#7zk4zvmFF|DfqolDOM7JUd&?sXvG zN(ZHABA7R}QlARjf)Kmjl3_U1B>*nMyAu$(YZEX^Cw9htI}_yu0lV1=LV8W4OcGpU z*{#irVfjkQ=rfyXz%cs|#*BF*a?+TA?v&FO3|V;hRmv4AR-;id8i(Q4U`D?g%gmrP z7&2nHNqy$E7&33cm>JW^puRqSVVMYccN5-h%1MRf&04MaV@4E20?AiVsexuRb<)t3 z<)#f_D8CDnWetJO0)k3V60Kk~Xs*KT7Z#{Nmz}TRnS;ktQCCk{S`}de_pTcA+H`6V zZ|~kxwtvH%B>TLBwH*^FH9EZE@IXFAM|7WY z8q{_9!q&31noQ)G!~ZUOFXd{{!s|U}%0|ZKFMGXKnNbcZcPRfeQ~vVTbCn)tqo*DV2lDtIGc@SAacJhAfE|DxcIA00020K%Z&= literal 7112 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 diff --git a/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu4mxK.woff2 b/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu4mxK.woff2 index 020729ef8d353ff843438008300bedee1f519380..2d7b215136a471c9a1644966be6e5af672806eea 100644 GIT binary patch literal 18536 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�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 literal 15744 zcmV-`J%7S?Pew8T0RR9106l;J5&!@I0FHD306iK20RR9100000000000000000000 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�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 G0002&1Enzl literal 15344 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 O=*P}hnT+8U0002VxO@Nr diff --git a/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/dev/deps/Roboto-0.4.9/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 index 8a8de615eb2f70380f60b851f97814cdf1ccda94..20c87e676ea8cca21679bc8886fd9566172771de 100644 GIT binary patch literal 12456 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 literal 11872 zcmV-mE}zkNPew8T0RR9104`tv5&!@I0COw=04@3e0RR9100000000000000000000 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

+L7rR8qk}-BDtx(CI^jBoHUw3 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 literal 5560 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 literal 1484 zcmV;-1vC10Pew8T0RR9100qnd5&!@I014m#00nRW0RR9100000000000000000000 z0000QCL16eHU?k-Gze4)gFF!o3WI2aN(&GG5)=V80we<*1Rw>1bO#^|f=L^E2ne1B zWt*O6%ejCs!jioDA|BxV>+{?P4VIda)qVKpF%OQLjP!0g| zmbPPH>RClx15;@Q!hv%xZ8%PkqES2|Y!PL*qhI*Jel^zW?!MN)^ih0gK6I(+?%ow~ znf?$WEnP({;gQ62N}x4Dh_K9!t^r2hehWdQ4Hyc`1VIp?iKc*n%0L$I?3ko1gn%;&hnVXR($|nn*^$U(z zAahAwc@@wSq9&eHy^y~b0h!%;0Xch#j-|`<((_o0?dbM8nPHUAQ?Ll2Ni+_Ec4m4%gc}8uEIkWaZ+Z{3?+T zW3%$tFMyLG7A_GBqtLf9lwk~y+9wtPW;tSH)3>7}ga+oy&oHI&?< z%)IERrjyNIthjpTITRYW%b_NB-%eq!vwoTBQW(VHkLsaoRzr(O9=|x{kUDHPJ^gq4|Kz=A8AuarWceV|?HoE~ZXR+t~kj%hY_g zzN_53etbAM_WkQ-RCnBUZ?(5&`bSR(>Yc$)JpAt9=9S&MEHN-Ub;;CWWxd@%e&dWoL6qcwf`|9xTPwy=@~J>p|+BGLAA1Qd<}3rUHC08lV! zIw%-vJ8m!@4<tA`t4 zQp?y}s=>FoYOYGh<=|w zsRBPBRFAkYV4|DEo+xYMf*rCSk+UO=;Jusm^@Lr3CHzOcbEV}tn mDy7jOQ>So*#`GSXMHgR6t8_&FAyjnpt&^@D+zAYKa3=u4bJ5NK diff --git a/dev/news/index.html b/dev/news/index.html index 6cf15fc4..145fb582 100644 --- a/dev/news/index.html +++ b/dev/news/index.html @@ -41,7 +41,8 @@

+
  • Bugfix: crate() is using the correct ‘topenv’ environment now.
  • +

mlr3misc 0.15.1

CRAN release: 2024-06-24

  • refactor: Update as_callback() functions.
  • diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index 95dd0ffb..315f2193 100644 --- a/dev/pkgdown.yml +++ b/dev/pkgdown.yml @@ -2,7 +2,7 @@ pandoc: 3.1.11 pkgdown: 2.1.0 pkgdown_sha: ~ articles: {} -last_built: 2024-07-19T05:50Z +last_built: 2024-08-08T07:13Z urls: reference: https://mlr3misc.mlr-org.com/reference article: https://mlr3misc.mlr-org.com/articles diff --git a/dev/reference/crate.html b/dev/reference/crate.html index 6f9f5efe..fd6061a2 100644 --- a/dev/reference/crate.html +++ b/dev/reference/crate.html @@ -46,7 +46,7 @@

    Usage

    -
    crate(.fn, ..., .parent = topenv(), .compile = TRUE)
    +
    crate(.fn, ..., .parent = topenv(parent.frame()), .compile = TRUE)
    diff --git a/dev/reference/encapsulate.html b/dev/reference/encapsulate.html index c15cd9c4..e047de84 100644 --- a/dev/reference/encapsulate.html +++ b/dev/reference/encapsulate.html @@ -157,7 +157,7 @@

    Examples#> Empty data.table (0 rows and 2 cols): class,msg #> #> $elapsed -#> [1] 0.001 +#> [1] 0 #> if (requireNamespace("evaluate", quietly = TRUE)) { @@ -188,7 +188,7 @@

    Examples#> #> $elapsed #> elapsed -#> 0.662 +#> 0.594 #>

diff --git a/dev/search.json b/dev/search.json index 6edd8dd0..da8bb830 100644 --- a/dev/search.json +++ b/dev/search.json @@ -1 +1 @@ -[{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"gnu-lesser-general-public-license","dir":"","previous_headings":"","what":"GNU LESSER GENERAL PUBLIC LICENSE","title":"NA","text":"Version 2.1, February 1999","code":"Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]"},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"NA","text":"licenses software designed take away freedom share change . contrast, GNU General Public Licenses intended guarantee freedom share change free software–make sure software free users. license, Lesser General Public License, applies specially designated software packages–typically libraries–Free Software Foundation authors decide use . can use , suggest first think carefully whether license ordinary General Public License better strategy use particular case, based explanations . speak free software, referring freedom use, price. General Public Licenses designed make sure freedom distribute copies free software (charge service wish); receive source code can get want ; can change software use pieces new free programs; informed can things. protect rights, need make restrictions forbid distributors deny rights ask surrender rights. restrictions translate certain responsibilities distribute copies library modify . example, distribute copies library, whether gratis fee, must give recipients rights gave . must make sure , , receive can get source code. link code library, must provide complete object files recipients, can relink library making changes library recompiling . must show terms know rights. protect rights two-step method: (1) copyright library, (2) offer license, gives legal permission copy, distribute /modify library. protect distributor, want make clear warranty free library. Also, library modified someone else passed , recipients know original version, original author’s reputation affected problems might introduced others. Finally, software patents pose constant threat existence free program. wish make sure company effectively restrict users free program obtaining restrictive license patent holder. Therefore, insist patent license obtained version library must consistent full freedom use specified license. GNU software, including libraries, covered ordinary GNU General Public License. license, GNU Lesser General Public License, applies certain designated libraries, quite different ordinary General Public License. use license certain libraries order permit linking libraries non-free programs. program linked library, whether statically using shared library, combination two legally speaking combined work, derivative original library. ordinary General Public License therefore permits linking entire combination fits criteria freedom. Lesser General Public License permits lax criteria linking code library. call license “Lesser” General Public License Less protect user’s freedom ordinary General Public License. also provides free software developers Less advantage competing non-free programs. disadvantages reason use ordinary General Public License many libraries. However, Lesser license provides advantages certain special circumstances. example, rare occasions, may special need encourage widest possible use certain library, becomes de-facto standard. achieve , non-free programs must allowed use library. frequent case free library job widely used non-free libraries. case, little gain limiting free library free software , use Lesser General Public License. cases, permission use particular library non-free programs enables greater number people use large body free software. example, permission use GNU C Library non-free programs enables many people use whole GNU operating system, well variant, GNU/Linux operating system. Although Lesser General Public License Less protective users’ freedom, ensure user program linked Library freedom wherewithal run program using modified version Library. precise terms conditions copying, distribution modification follow. Pay close attention difference “work based library” “work uses library”. former contains code derived library, whereas latter must combined library order run.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"terms-and-conditions-for-copying-distribution-and-modification","dir":"","previous_headings":"","what":"TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION","title":"NA","text":"0. License Agreement applies software library program contains notice placed copyright holder authorized party saying may distributed terms Lesser General Public License (also called “License”). licensee addressed “”. “library” means collection software functions /data prepared conveniently linked application programs (use functions data) form executables. “Library”, , refers software library work distributed terms. “work based Library” means either Library derivative work copyright law: say, work containing Library portion , either verbatim modifications /translated straightforwardly another language. (Hereinafter, translation included without limitation term “modification”.) “Source code” work means preferred form work making modifications . library, complete source code means source code modules contains, plus associated interface definition files, plus scripts used control compilation installation library. Activities copying, distribution modification covered License; outside scope. act running program using Library restricted, output program covered contents constitute work based Library (independent use Library tool writing ). Whether true depends Library program uses Library . 1. may copy distribute verbatim copies Library’s complete source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice disclaimer warranty; keep intact notices refer License absence warranty; distribute copy License along Library. may charge fee physical act transferring copy, may option offer warranty protection exchange fee. 2. may modify copy copies Library portion , thus forming work based Library, copy distribute modifications work terms Section 1 , provided also meet conditions: ) modified work must software library. b) must cause files modified carry prominent notices stating changed files date change. c) must cause whole work licensed charge third parties terms License. d) facility modified Library refers function table data supplied application program uses facility, argument passed facility invoked, must make good faith effort ensure , event application supply function table, facility still operates, performs whatever part purpose remains meaningful. (example, function library compute square roots purpose entirely well-defined independent application. Therefore, Subsection 2d requires application-supplied function table used function must optional: application supply , square root function must still compute square roots.) requirements apply modified work whole. identifiable sections work derived Library, can reasonably considered independent separate works , License, terms, apply sections distribute separate works. distribute sections part whole work based Library, distribution whole must terms License, whose permissions licensees extend entire whole, thus every part regardless wrote . Thus, intent section claim rights contest rights work written entirely ; rather, intent exercise right control distribution derivative collective works based Library. addition, mere aggregation another work based Library Library (work based Library) volume storage distribution medium bring work scope License. 3. may opt apply terms ordinary GNU General Public License instead License given copy Library. , must alter notices refer License, refer ordinary GNU General Public License, version 2, instead License. (newer version version 2 ordinary GNU General Public License appeared, can specify version instead wish.) make change notices. change made given copy, irreversible copy, ordinary GNU General Public License applies subsequent copies derivative works made copy. option useful wish copy part code Library program library. 4. may copy distribute Library (portion derivative , Section 2) object code executable form terms Sections 1 2 provided accompany complete corresponding machine-readable source code, must distributed terms Sections 1 2 medium customarily used software interchange. distribution object code made offering access copy designated place, offering equivalent access copy source code place satisfies requirement distribute source code, even though third parties compelled copy source along object code. 5. program contains derivative portion Library, designed work Library compiled linked , called “work uses Library”. work, isolation, derivative work Library, therefore falls outside scope License. However, linking “work uses Library” Library creates executable derivative Library (contains portions Library), rather “work uses library”. executable therefore covered License. Section 6 states terms distribution executables. “work uses Library” uses material header file part Library, object code work may derivative work Library even though source code . Whether true especially significant work can linked without Library, work library. threshold true precisely defined law. object file uses numerical parameters, data structure layouts accessors, small macros small inline functions (ten lines less length), use object file unrestricted, regardless whether legally derivative work. (Executables containing object code plus portions Library still fall Section 6.) Otherwise, work derivative Library, may distribute object code work terms Section 6. executables containing work also fall Section 6, whether linked directly Library . 6. exception Sections , may also combine link “work uses Library” Library produce work containing portions Library, distribute work terms choice, provided terms permit modification work customer’s use reverse engineering debugging modifications. must give prominent notice copy work Library used Library use covered License. must supply copy License. work execution displays copyright notices, must include copyright notice Library among , well reference directing user copy License. Also, must one things: ) Accompany work complete corresponding machine-readable source code Library including whatever changes used work (must distributed Sections 1 2 ); , work executable linked Library, complete machine-readable “work uses Library”, object code /source code, user can modify Library relink produce modified executable containing modified Library. (understood user changes contents definitions files Library necessarily able recompile application use modified definitions.) b) Use suitable shared library mechanism linking Library. suitable mechanism one (1) uses run time copy library already present user’s computer system, rather copying library functions executable, (2) operate properly modified version library, user installs one, long modified version interface-compatible version work made . c) Accompany work written offer, valid least three years, give user materials specified Subsection 6a, , charge cost performing distribution. d) distribution work made offering access copy designated place, offer equivalent access copy specified materials place. e) Verify user already received copy materials already sent user copy. executable, required form “work uses Library” must include data utility programs needed reproducing executable . However, special exception, materials distributed need include anything normally distributed (either source binary form) major components (compiler, kernel, ) operating system executable runs, unless component accompanies executable. may happen requirement contradicts license restrictions proprietary libraries normally accompany operating system. contradiction means use Library together executable distribute. 7. may place library facilities work based Library side--side single library together library facilities covered License, distribute combined library, provided separate distribution work based Library library facilities otherwise permitted, provided two things: ) Accompany combined library copy work based Library, uncombined library facilities. must distributed terms Sections . b) Give prominent notice combined library fact part work based Library, explaining find accompanying uncombined form work. 8. may copy, modify, sublicense, link , distribute Library except expressly provided License. attempt otherwise copy, modify, sublicense, link , distribute Library void, automatically terminate rights License. However, parties received copies, rights, License licenses terminated long parties remain full compliance. 9. required accept License, since signed . However, nothing else grants permission modify distribute Library derivative works. actions prohibited law accept License. Therefore, modifying distributing Library (work based Library), indicate acceptance License , terms conditions copying, distributing modifying Library works based . 10. time redistribute Library (work based Library), recipient automatically receives license original licensor copy, distribute, link modify Library subject terms conditions. may impose restrictions recipients’ exercise rights granted herein. responsible enforcing compliance third parties License. 11. , consequence court judgment allegation patent infringement reason (limited patent issues), conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. distribute satisfy simultaneously obligations License pertinent obligations, consequence may distribute Library . example, patent license permit royalty-free redistribution Library receive copies directly indirectly , way satisfy License refrain entirely distribution Library. portion section held invalid unenforceable particular circumstance, balance section intended apply, section whole intended apply circumstances. purpose section induce infringe patents property right claims contest validity claims; section sole purpose protecting integrity free software distribution system implemented public license practices. Many people made generous contributions wide range software distributed system reliance consistent application system; author/donor decide willing distribute software system licensee impose choice. section intended make thoroughly clear believed consequence rest License. 12. distribution /use Library restricted certain countries either patents copyrighted interfaces, original copyright holder places Library License may add explicit geographical distribution limitation excluding countries, distribution permitted among countries thus excluded. case, License incorporates limitation written body License. 13. Free Software Foundation may publish revised /new versions Lesser General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Library specifies version number License applies “later version”, option following terms conditions either version later version published Free Software Foundation. Library specify license version number, may choose version ever published Free Software Foundation. 14. wish incorporate parts Library free programs whose distribution conditions incompatible , write author ask permission. software copyrighted Free Software Foundation, write Free Software Foundation; sometimes make exceptions . decision guided two goals preserving free status derivatives free software promoting sharing reuse software generally. WARRANTY 15. LIBRARY LICENSED FREE CHARGE, WARRANTY LIBRARY, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE LIBRARY “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE LIBRARY . LIBRARY PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION. 16. EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MAY MODIFY /REDISTRIBUTE LIBRARY PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE LIBRARY (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE LIBRARY OPERATE SOFTWARE), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-libraries","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Libraries","title":"NA","text":"develop new library, want greatest possible use public, recommend making free software everyone can redistribute change. can permitting redistribution terms (, alternatively, terms ordinary General Public License). apply terms, attach following notices library. safest attach start source file effectively convey exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. also get employer (work programmer) school, , sign “copyright disclaimer” library, necessary. sample; alter names: ’s !","code":"one line to give the library's name and an idea of what it does. Copyright (C) year name of author This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. signature of Ty Coon, 1 April 1990 Ty Coon, President of Vice"},{"path":"https://mlr3misc.mlr-org.com/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Michel Lang. Maintainer, author. Patrick Schratz. Author.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Lang M, Schratz P (2024). mlr3misc: Helper Functions 'mlr3'. R package version 0.15.1.9000, https://github.com/mlr-org/mlr3misc, https://mlr3misc.mlr-org.com.","code":"@Manual{, title = {mlr3misc: Helper Functions for 'mlr3'}, author = {Michel Lang and Patrick Schratz}, year = {2024}, note = {R package version 0.15.1.9000, https://github.com/mlr-org/mlr3misc}, url = {https://mlr3misc.mlr-org.com}, }"},{"path":"https://mlr3misc.mlr-org.com/dev/index.html","id":"mlr3misc","dir":"","previous_headings":"","what":"Helper Functions for mlr3","title":"Helper Functions for mlr3","text":"Package website: release | dev Miscellaneous helper functions mlr3.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Callback — Callback","title":"Callback — Callback","text":"Callbacks allow customize behavior processes mlr3 packages. following packages implement callbacks: CallbackOptimization bbotk. CallbackTuning mlr3tuning. CallbackTorch mlr3torch","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Callback — Callback","text":"Callback abstract base class. subclass inherits Callback adds stages public members. Names stages start \"on_\". subclass function implemented create callback. example implement function see callback_optimization() bbotk. Callbacks executed stages using function call_back(). Context defines information can accessed callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Callback — Callback","text":"id (character(1)) Identifier callback. label (character(1)) Label object. Can used tables, plot text output instead ID. man (character(1)) String format [pkg]::[topic] pointing manual page object. Defaults NA, can set child classes. state (named list()) callback can write data state.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Callback — Callback","text":"Callback$new() Callback$format() Callback$print() Callback$help() Callback$call() Callback$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Callback — Callback","text":"Creates new instance R6 class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$new(id, label = NA_character_, man = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"id (character(1)) Identifier new instance. label (character(1)) Label new instance. man (character(1)) String format [pkg]::[topic] pointing manual page object. referenced help package can opened via method $help().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Callback — Callback","text":"Helper print outputs.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Callback — Callback","text":"Printer.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$print(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-help-","dir":"Reference","previous_headings":"","what":"Method help()","title":"Callback — Callback","text":"Opens corresponding help page referenced field $man.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$help()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-call-","dir":"Reference","previous_headings":"","what":"Method call()","title":"Callback — Callback","text":"Call specific stage given context.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$call(stage, context)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"stage (character(1)) stage. context (Context) Context.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Callback — Callback","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Callback — Callback","text":"","code":"library(R6) # implement callback subclass CallbackExample = R6Class(\"CallbackExample\", inherit = mlr3misc::Callback, public = list( on_stage_a = NULL, on_stage_b = NULL, on_stage_c = NULL ) )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":null,"dir":"Reference","previous_headings":"","what":"Context — Context","title":"Context — Context","text":"Context objects allow Callback objects access modify data. following packages implement context subclasses: ContextOptimization bbotk. ContextEval mlr3tuning. ContextTorch mlr3torch","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Context — Context","text":"Context abstract base class. subclass inherits Context. Data stored public fields. Access data can restricted active bindings (see example).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Context — Context","text":"id (character(1)) Identifier object. Used tables, plot text output. label (character(1)) Label object. Can used tables, plot text output instead ID.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Context — Context","text":"Context$new() Context$format() Context$print() Context$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Context — Context","text":"Creates new instance R6 class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$new(id, label = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"id (character(1)) Identifier new instance. label (character(1)) Label new instance.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Context — Context","text":"Format object simple string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Context — Context","text":"Print object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$print()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Context — Context","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Context — Context","text":"","code":"library(data.table) library(R6) # data table with column x an y data = data.table(x = runif(10), y = sample(c(\"A\", \"B\"), 10, replace = TRUE)) # context only allows to access column y ContextExample = R6Class(\"ContextExample\", inherit = Context, public = list( data = NULL, initialize = function(data) { self$data = data } ), active = list( y = function(rhs) { if (missing(rhs)) return(self$data$y) self$data$y = rhs } ) ) context = ContextExample$new(data) # retrieve content of column y context$y #> [1] \"B\" \"A\" \"A\" \"A\" \"A\" \"B\" \"A\" \"A\" \"B\" \"B\" # change content of column y to \"C\" context$y = \"C\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":null,"dir":"Reference","previous_headings":"","what":"Key-Value Storage — Dictionary","title":"Key-Value Storage — Dictionary","text":"key-value store R6::R6 objects. retrieval object, following applies: object R6ClassGenerator, initialized new(). object function, called must return instance R6::R6 object. object instance R6 class, returned -. Default argument required construction can stored alongside constructors passing $add().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"s-methods","dir":"Reference","previous_headings":"","what":"S3 methods","title":"Key-Value Storage — Dictionary","text":".data.table(d) Dictionary -> data.table::data.table() Converts dictionary data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Key-Value Storage — Dictionary","text":"items (environment()) Stores items dictionary","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Key-Value Storage — Dictionary","text":"Dictionary$new() Dictionary$format() Dictionary$print() Dictionary$keys() Dictionary$() Dictionary$get() Dictionary$mget() Dictionary$add() Dictionary$remove() Dictionary$prototype_args() Dictionary$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Key-Value Storage — Dictionary","text":"Construct new Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$new()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Key-Value Storage — Dictionary","text":"Format object simple string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Key-Value Storage — Dictionary","text":"Print object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$print()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-keys-","dir":"Reference","previous_headings":"","what":"Method keys()","title":"Key-Value Storage — Dictionary","text":"Returns keys comply regular expression pattern. pattern NULL (default), keys returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$keys(pattern = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"pattern (character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"character() keys.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-has-","dir":"Reference","previous_headings":"","what":"Method has()","title":"Key-Value Storage — Dictionary","text":"Returns logical vector TRUE -th position -th key exists.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$has(keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"logical().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Key-Value Storage — Dictionary","text":"Retrieves object key key dictionary. Additional arguments must named passed constructor stored object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$get(key, ..., .prototype = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)). ... () Passed constructor. .prototype (logical(1)) Whether construct prototype object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Object corresponding key.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-mget-","dir":"Reference","previous_headings":"","what":"Method mget()","title":"Key-Value Storage — Dictionary","text":"Returns objects keys keys list named keys. Additional arguments must named passed constructors stored objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$mget(keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()). ... () Passed constructor.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Named list() objects corresponding keys.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-add-","dir":"Reference","previous_headings":"","what":"Method add()","title":"Key-Value Storage — Dictionary","text":"Adds object value dictionary key key, potentially overwriting previously stored item. Additional arguments ... must named passed default arguments value construction.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$add(key, value, ..., .prototype_args = list())"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)). value (). ... () Passed constructor. .prototype_args (list()) List arguments construct prototype object. Can used objects construction arguments without defaults.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-remove-","dir":"Reference","previous_headings":"","what":"Method remove()","title":"Key-Value Storage — Dictionary","text":"Removes objects dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$remove(keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()) Keys objects remove.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-prototype-args-","dir":"Reference","previous_headings":"","what":"Method prototype_args()","title":"Key-Value Storage — Dictionary","text":"Returns arguments required construct simple prototype object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$prototype_args(key)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)) Key object query required arguments.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"list() prototype arguments","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Key-Value Storage — Dictionary","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Key-Value Storage — Dictionary","text":"","code":"library(R6) item1 = R6Class(\"Item\", public = list(x = 1)) item2 = R6Class(\"Item\", public = list(x = 2)) d = Dictionary$new() d$add(\"a\", item1) d$add(\"b\", item2) d$add(\"c\", item1$new()) d$keys() #> [1] \"a\" \"b\" \"c\" d$get(\"a\") #> #> Public: #> clone: function (deep = FALSE) #> x: 1 d$mget(c(\"a\", \"b\")) #> $a #> #> Public: #> clone: function (deep = FALSE) #> x: 1 #> #> $b #> #> Public: #> clone: function (deep = FALSE) #> x: 2 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert to a Callback — as_callback","title":"Convert to a Callback — as_callback","text":"Convert object Callback list Callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert to a Callback — as_callback","text":"","code":"as_callback(x, ...) # S3 method for class 'Callback' as_callback(x, clone = FALSE, ...) as_callbacks(x, clone = FALSE, ...) # S3 method for class '`NULL`' as_callbacks(x, ...) # S3 method for class 'list' as_callbacks(x, clone = FALSE, ...) # S3 method for class 'Callback' as_callbacks(x, clone = FALSE, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert to a Callback — as_callback","text":"x () Object convert. ... () Additional arguments. clone (logical(1)) TRUE, ensures returned object input x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert to a Callback — as_callback","text":"Callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert to Factor — as_factor","title":"Convert to Factor — as_factor","text":"Converts vector factor() ensures levels order provided levels.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert to Factor — as_factor","text":"","code":"as_factor(x, levels, ordered = is.ordered(x))"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert to Factor — as_factor","text":"x (atomic vector()) Vector convert factor. levels (character()) Levels new factor. ordered (logical(1)) TRUE, create ordered factor.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert to Factor — as_factor","text":"(factor()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert to Factor — as_factor","text":"","code":"x = factor(c(\"a\", \"b\")) y = factor(c(\"a\", \"b\"), levels = c(\"b\", \"a\")) # x with the level order of y as_factor(x, levels(y)) #> [1] a b #> Levels: b a # y with the level order of x as_factor(y, levels(x)) #> [1] a b #> Levels: a b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert R Object to a Descriptive String — as_short_string","title":"Convert R Object to a Descriptive String — as_short_string","text":"function intended convert R object short descriptive string, e.g. base::print() functions. following rules apply: x atomic() length 0 1: printed -. x atomic() length greater 1, x collapsed \",\", resulting string truncated trunc_width characters. x expression: converted character. Otherwise: class printed. x list, rules applied (non-recursively) elements.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert R Object to a Descriptive String — as_short_string","text":"","code":"as_short_string(x, width = 30L, num_format = \"%.4g\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert R Object to a Descriptive String — as_short_string","text":"x () Arbitrary object. width (integer(1)) Truncate strings width width. num_format (character(1)) Used format numerical scalars via base::sprintf().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert R Object to a Descriptive String — as_short_string","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert R Object to a Descriptive String — as_short_string","text":"","code":"as_short_string(list(a = 1, b = NULL, \"foo\", c = 1:10)) #> [1] \"a=1, b=, =foo, c=1,2,3,4,5,6,7,8,9,10\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Assertions for Callbacks — assert_callback","title":"Assertions for Callbacks — assert_callback","text":"Assertions Callback class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assertions for Callbacks — assert_callback","text":"","code":"assert_callback(callback, null_ok = FALSE) assert_callbacks(callbacks)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assertions for Callbacks — assert_callback","text":"callback (Callback). null_ok (logical(1)) TRUE, NULL allowed. callbacks (list Callback).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assertions for Callbacks — assert_callback","text":"Callback | List Callbacks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":null,"dir":"Reference","previous_headings":"","what":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"assertion intended called active bindings R6::R6Class allow assignment. rhs missing, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"","code":"assert_ro_binding(rhs)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"rhs () missing, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"Nothing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate a Hash for Multiple Objects — calculate_hash","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"Calls digest::digest() using 'xxhash64' algorithm applying hash_input object. customize hashing behaviour, can overwrite hash_input specific classes. data.table objects, hash_input applied columns, can overwrite hash_input columns specific class. Objects specific method hashed .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"","code":"calculate_hash(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"... () Objects hash.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"","code":"calculate_hash(iris, 1, \"a\") #> [1] \"9dec48c68dae0533\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/call_back.html","id":null,"dir":"Reference","previous_headings":"","what":"Call Callbacks — call_back","title":"Call Callbacks — call_back","text":"Call list callbacks context specific stage.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/call_back.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Call Callbacks — call_back","text":"","code":"call_back(stage, callbacks, context)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":null,"dir":"Reference","previous_headings":"","what":"Capitalize the First Letter of Strings — capitalize","title":"Capitalize the First Letter of Strings — capitalize","text":"Takes character vector changes first letter element uppercase.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Capitalize the First Letter of Strings — capitalize","text":"","code":"capitalize(str)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Capitalize the First Letter of Strings — capitalize","text":"str (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Capitalize the First Letter of Strings — capitalize","text":"Character vector, length str.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Capitalize the First Letter of Strings — capitalize","text":"","code":"capitalize(\"foo bar\") #> [1] \"Foo bar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":null,"dir":"Reference","previous_headings":"","what":"Function for Formatted Output — catn","title":"Function for Formatted Output — catn","text":"Wrapper around base::cat() line break. Elements converted character concatenate base::paste0(). vector passed, elements collapsed line breaks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function for Formatted Output — catn","text":"","code":"catn(..., file = \"\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function for Formatted Output — catn","text":"... () Arguments passed base::paste0(). file (character(1)) Passed base::cat().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function for Formatted Output — catn","text":"","code":"catn(c(\"Line 1\", \"Line 2\")) #> Line 1 #> Line 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":null,"dir":"Reference","previous_headings":"","what":"Check that packages are installed, without loading them — check_packages_installed","title":"Check that packages are installed, without loading them — check_packages_installed","text":"Calls find.package() check packages installed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check that packages are installed, without loading them — check_packages_installed","text":"","code":"check_packages_installed( pkgs, warn = TRUE, msg = \"The following packages are required but not installed: %s\" )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check that packages are installed, without loading them — check_packages_installed","text":"pkgs (character()) Packages check. warn (logical(1)) TRUE, signals warning class \"packageNotFoundWarning\" missing packages. msg (character(1)) Format warning message. Use \"%s\" placeholder list packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check that packages are installed, without loading them — check_packages_installed","text":"(logical()) named package names. TRUE respective package installed, FALSE otherwise.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check that packages are installed, without loading them — check_packages_installed","text":"","code":"check_packages_installed(c(\"mlr3misc\", \"foobar\"), warn = FALSE) #> mlr3misc foobar #> TRUE FALSE # catch warning tryCatch(check_packages_installed(c(\"mlr3misc\", \"foobaaar\")), packageNotFoundWarning = function(w) as.character(w)) #> [1] \"packageNotFoundWarning: The following packages are required but not installed: foobaaar\\n\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Chunk Vectors — chunk_vector","title":"Chunk Vectors — chunk_vector","text":"Chunk atomic vectors parts roughly equal size. chunk() takes vector length n returns integer chunk numbers. chunk_vector() uses base::split() chunk() split atomic vector chunks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Chunk Vectors — chunk_vector","text":"","code":"chunk_vector(x, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE) chunk(n, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Chunk Vectors — chunk_vector","text":"x (vector()) Vector split chunks. n_chunks (integer(1)) Requested number chunks. Mutually exclusive chunk_size props. chunk_size (integer(1)) Requested number elements chunk. Mutually exclusive n_chunks props. shuffle (logical(1)) TRUE, permutes order x chunking. n (integer(1)) Length vector split.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Chunk Vectors — chunk_vector","text":"chunk() returns integer() chunk indices, chunk_vector() list() integer vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Chunk Vectors — chunk_vector","text":"","code":"x = 1:11 ch = chunk(length(x), n_chunks = 2) table(ch) #> ch #> 1 2 #> 6 5 split(x, ch) #> $`1` #> [1] 1 2 5 8 10 11 #> #> $`2` #> [1] 3 4 6 7 9 #> chunk_vector(x, n_chunks = 2) #> [[1]] #> [1] 2 3 4 5 10 11 #> #> [[2]] #> [1] 1 6 7 8 9 #> chunk_vector(x, n_chunks = 3, shuffle = TRUE) #> [[1]] #> [1] 1 4 5 10 #> #> [[2]] #> [1] 2 7 9 11 #> #> [[3]] #> [1] 3 6 8 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":null,"dir":"Reference","previous_headings":"","what":"Syntactic Sugar for Callback Construction — clbk","title":"Syntactic Sugar for Callback Construction — clbk","text":"Functions retrieve callbacks mlr_callbacks set parameters one go.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Syntactic Sugar for Callback Construction — clbk","text":"","code":"clbk(.key, ...) clbks(.keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Syntactic Sugar for Callback Construction — clbk","text":".key (character(1)) Key object construct. ... (named list()) Named arguments passed state callback. .keys (character()) Keys objects construct.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply Functions in the spirit of 'purrr' — compat-map","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":"map-like functions, similar ones implemented purrr: map() returns results .f applied .x list. .f function, map call [[ elements .x using value .f index. imap() applies .f value .x (passed first argument) name (passed second argument). .x names, sequence along .x passed second argument instead. pmap() expects .x list vectors equal length, applies .f first element vector .x, second element .x, . map_if() applies .f element .x predicate .p evaluates TRUE. map_at() applies .f element .x referenced .. elements remain unchanged. keep() keeps elements .x predicate .p evaluates TRUE. discard() discards elements .x predicate .p evaluates TRUE. every() TRUE predicate .p evaluates TRUE .x. () TRUE predicate .p evaluates TRUE least one .x. detect() returns first element predicate .p evaluates TRUE. walk(), iwalk() pwalk() counterparts map(), imap() pmap(), just visit (change reference) elements .x. return input .x invisibly. Additionally, functions map(), imap() pmap() type-safe variants following suffixes: *_lgl() returns logical(length(.x)). *_int() returns integer(length(.x)). *_dbl() returns double(length(.x)). *_chr() returns character(length(.x)). *_br() returns object results .f put together base::rbind(). *_bc() returns object results .f put together base::cbind(). *_dtr() returns data.table::data.table() results .f put together base::rbind() fashion. *_dtc() returns data.table::data.table() results .f put together base::cbind() fashion.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":"","code":"map(.x, .f, ...) map_lgl(.x, .f, ...) map_int(.x, .f, ...) map_dbl(.x, .f, ...) map_chr(.x, .f, ...) map_br(.x, .f, ...) map_bc(.x, .f, ...) map_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) map_dtc(.x, .f, ...) pmap(.x, .f, ...) pmap_lgl(.x, .f, ...) pmap_int(.x, .f, ...) pmap_dbl(.x, .f, ...) pmap_chr(.x, .f, ...) pmap_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) pmap_dtc(.x, .f, ...) imap(.x, .f, ...) imap_lgl(.x, .f, ...) imap_int(.x, .f, ...) imap_dbl(.x, .f, ...) imap_chr(.x, .f, ...) imap_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) imap_dtc(.x, .f, ...) keep(.x, .f, ...) discard(.x, .p, ...) map_if(.x, .p, .f, ...) # Default S3 method map_if(.x, .p, .f, ...) map_at(.x, .at, .f, ...) every(.x, .p, ...) some(.x, .p, ...) detect(.x, .p, ...) walk(.x, .f, ...) iwalk(.x, .f, ...) pwalk(.x, .f, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":".x (list() | atomic vector()). .f (function() | character() | integer()) Function apply, element extract name (.f character()) position (.f integer()). ... () Additional arguments passed .f .p. .fill (logical(1)) Passed data.table::rbindlist(). .idcol (logical(1)) Passed data.table::rbindlist(). .p (function() | logical()) Predicate function. .(character() | integer() | logical()) Index vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":null,"dir":"Reference","previous_headings":"","what":"Composition of Functions — compose","title":"Composition of Functions — compose","text":"Composes two functions single function. returned function calls provided functions reverse order: return value last function servers input next last function, .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Composition of Functions — compose","text":"","code":"compose(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Composition of Functions — compose","text":"... (functions) Functions compose.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Composition of Functions — compose","text":"(function()) calls functions provided via ... reverse order.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Composition of Functions — compose","text":"","code":"f = compose(function(x) x + 1, function(x) x / 2) f(10) #> [1] 6"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute The Mode — compute_mode","title":"Compute The Mode — compute_mode","text":"Computes mode (frequent value) atomic vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute The Mode — compute_mode","text":"","code":"compute_mode(x, ties_method = \"random\", na_rm = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute The Mode — compute_mode","text":"x (vector()). ties_method (character(1)) Handling ties. One \"first\", \"last\" \"random\" return first tied value, last tied value, randomly selected tied value, respectively. na_rm (logical(1)) TRUE, remove missing values prior computing mode.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute The Mode — compute_mode","text":"(vector(1)): mode value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute The Mode — compute_mode","text":"","code":"compute_mode(c(1, 1, 1, 2, 2, 2, 3)) #> [1] 1 compute_mode(c(1, 1, 1, 2, 2, 2, 3), ties_method = \"last\") #> [1] 2 compute_mode(c(1, 1, 1, 2, 2, 2, 3), ties_method = \"random\") #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":null,"dir":"Reference","previous_headings":"","what":"Count Missing Values in a Vector — count_missing","title":"Count Missing Values in a Vector — count_missing","text":"sum(.na(x)), without allocation.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Count Missing Values in a Vector — count_missing","text":"","code":"count_missing(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Count Missing Values in a Vector — count_missing","text":"x vector() Supported logical, integer, double, complex string vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Count Missing Values in a Vector — count_missing","text":"(integer(1)) number missing values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Count Missing Values in a Vector — count_missing","text":"","code":"count_missing(c(1, 2, NA, 4, NA)) #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":null,"dir":"Reference","previous_headings":"","what":"Isolate a Function from its Environment — crate","title":"Isolate a Function from its Environment — crate","text":"Put function \"lean\" environment carry unnecessary baggage (e.g. references datasets).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Isolate a Function from its Environment — crate","text":"","code":"crate(.fn, ..., .parent = topenv(), .compile = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Isolate a Function from its Environment — crate","text":".fn (function()) function crate ... () objects, visible inside .fn. .parent (environment) Parent environment look names. Default topenv(). .compile (logical(1)) Whether jit-compile function. case function already compiled. input function .fn compiled, effect, output function always compiled.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Isolate a Function from its Environment — crate","text":"","code":"meta_f = function(z) { x = 1 y = 2 crate(function() { c(x, y, z) }, x) } x = 100 y = 200 z = 300 f = meta_f(1) f() #> Error in f(): object 'y' not found"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":null,"dir":"Reference","previous_headings":"","what":"Cross-Join for data.table — cross_join","title":"Cross-Join for data.table — cross_join","text":"safe version data.table::CJ() case column called sorted unique.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cross-Join for data.table — cross_join","text":"","code":"cross_join(dots, sorted = TRUE, unique = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cross-Join for data.table — cross_join","text":"dots (named list()) Vectors cross-join. sorted (logical(1)) See data.table::CJ(). unique (logical(1)) See data.table::CJ().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cross-Join for data.table — cross_join","text":"data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cross-Join for data.table — cross_join","text":"","code":"cross_join(dots = list(sorted = 1:3, b = letters[1:2])) #> Key: #> sorted b #> #> 1: 1 a #> 2: 1 b #> 3: 2 a #> 4: 2 b #> 5: 3 a #> 6: 3 b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"Given Dictionary, retrieve objects provided keys. dictionary_sugar_get() retrieve single object key .key. dictionary_sugar_mget() retrieve list objects keys .keys. dictionary_sugar() deprecated favor dictionary_sugar_get(). .key .keys missing, dictionary returned. Arguments ... must named consumed following order: arguments whose names match name argument constructor passed $get() method Dictionary construction. arguments whose names match name parameter paradox::ParamSet constructed object set parameters. paradox::ParamSet obj$param_set, step skipped. remaining arguments assumed regular fields constructed R6 instance, assigned via <-.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"","code":"dictionary_sugar_get(dict, .key, ...) dictionary_sugar(dict, .key, ...) dictionary_sugar_mget(dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"dict (Dictionary). .key (character(1)) Key object construct. ... () See description. .keys (character()) Keys objects construct.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"R6::R6Class()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"","code":"library(R6) item = R6Class(\"Item\", public = list(x = 0)) d = Dictionary$new() d$add(\"key\", item) dictionary_sugar_get(d, \"key\", x = 2) #> #> Public: #> clone: function (deep = FALSE) #> x: 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"Given Dictionary, retrieve objects provided keys. dictionary_sugar_get_safe() retrieve single object key .key. dictionary_sugar_mget_safe() retrieve list objects keys .keys. .key .keys missing, dictionary returned. Dictionary getters without _safe suffix discouraged sometimes caused unintended partial argument matching. Arguments ... must named consumed following order: arguments whose names match name argument constructor passed $get() method Dictionary construction. arguments whose names match name parameter paradox::ParamSet constructed object set parameters. paradox::ParamSet obj$param_set, step skipped. remaining arguments assumed regular fields constructed R6 instance, assigned via <-.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"","code":"dictionary_sugar_get_safe(.dict, .key, ...) dictionary_sugar_mget_safe(.dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":".dict (Dictionary) dictionary retrieve elements. .key (character(1)) Key object construct. ... () See description. .keys (character()) Keys objects construct.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"R6::R6Class()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"","code":"library(R6) item = R6Class(\"Item\", public = list(x = 0)) d = Dictionary$new() d$add(\"key\", item) dictionary_sugar_get_safe(d, \"key\", x = 2) #> #> Public: #> clone: function (deep = FALSE) #> x: 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"Covenience wrapper around dictionary_sugar_get dictionary_sugar_mget allow easier avoidance ID clashes useful object used multiple times ids unique. Let key object retrieve. passing _ function, natural numer, object key retrieved suffix _ appended id object constructed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"","code":"dictionary_sugar_inc_get(dict, .key, ...) dictionary_sugar_inc_mget(dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"dict (Dictionary) Dictionary retrieve element. .key (character(1)) Key object construct - possibly suffix form _ appended id. ... () See description dictionary_sugar. .keys (character()) Keys objects construct - possibly suffixes form _ appended ids.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"element dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"","code":"d = Dictionary$new() d$add(\"a\", R6::R6Class(\"A\", public = list(id = \"a\"))) d$add(\"b\", R6::R6Class(\"B\", public = list(id = \"c\"))) obj1 = dictionary_sugar_inc_get(d, \"a_1\") obj1$id #> [1] \"a_1\" obj2 = dictionary_sugar_inc_get(d, \"b_1\") obj2$id #> [1] \"c_1\" objs = dictionary_sugar_inc_mget(d, c(\"a_10\", \"b_2\")) map(objs, \"id\") #> $a_10 #> [1] \"a_10\" #> #> $c_2 #> [1] \"c_2\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"Covenience wrapper around dictionary_sugar_get_safe dictionary_sugar_mget_safe allow easier avoidance ID clashes useful object used multiple times ids unique. Let key object retrieve. passing _ function, natural numer, object key retrieved suffix _ appended id object constructed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"","code":"dictionary_sugar_inc_get_safe(.dict, .key, ...) dictionary_sugar_inc_mget_safe(.dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":".dict (Dictionary) Dictionary retrieve element. .key (character(1)) Key object construct - possibly suffix form _ appended id. ... () See description dictionary_sugar_get_safe. .keys (character()) Keys objects construct - possibly suffixes form _ appended ids.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"element dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"","code":"d = Dictionary$new() d$add(\"a\", R6::R6Class(\"A\", public = list(id = \"a\"))) d$add(\"b\", R6::R6Class(\"B\", public = list(id = \"c\"))) obj1 = dictionary_sugar_inc_get_safe(d, \"a_1\") obj1$id #> [1] \"a_1\" obj2 = dictionary_sugar_inc_get_safe(d, \"b_1\") obj2$id #> [1] \"c_1\" objs = dictionary_sugar_inc_mget_safe(d, c(\"a_10\", \"b_2\")) map(objs, \"id\") #> $a_10 #> [1] \"a_10\" #> #> $c_2 #> [1] \"c_2\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":null,"dir":"Reference","previous_headings":"","what":"Suggest Alternatives — did_you_mean","title":"Suggest Alternatives — did_you_mean","text":"Helps suggest alternatives list strings, based string similarity utils::adist().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Suggest Alternatives — did_you_mean","text":"","code":"did_you_mean(str, candidates)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Suggest Alternatives — did_you_mean","text":"str (character(1)) String. candidates (character()) Candidate strings.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Suggest Alternatives — did_you_mean","text":"(character(1)). Either phrase suggesting one candidates candidates, empty string close match found.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Suggest Alternatives — did_you_mean","text":"","code":"did_you_mean(\"yep\", c(\"yes\", \"no\")) #> [1] \" Did you mean 'yes'?\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Distinct Values — distinct_values","title":"Get Distinct Values — distinct_values","text":"Extracts distinct values atomic vector, possibility drop levels remove missing values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Distinct Values — distinct_values","text":"","code":"distinct_values(x, drop = TRUE, na_rm = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Distinct Values — distinct_values","text":"x (atomic vector()). drop :: logical(1) TRUE, returns values present x. FALSE, returns levels factor() ordered(), well TRUE FALSE logical()s. na_rm :: logical(1) TRUE, missing values removed vector distinct values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Distinct Values — distinct_values","text":"(atomic vector()) distinct values particular order.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get Distinct Values — distinct_values","text":"","code":"# for factors: x = factor(c(letters[1:2], NA), levels = letters[1:3]) distinct_values(x) #> [1] \"a\" \"b\" distinct_values(x, na_rm = FALSE) #> [1] \"a\" \"b\" NA distinct_values(x, drop = FALSE) #> [1] \"a\" \"b\" \"c\" distinct_values(x, drop = FALSE, na_rm = FALSE) #> [1] \"a\" \"b\" \"c\" NA # for logicals: distinct_values(TRUE, drop = FALSE) #> [1] TRUE FALSE # for numerics: distinct_values(sample(1:3, 10, replace = TRUE)) #> [1] 1 3 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":null,"dir":"Reference","previous_headings":"","what":"Encapsulate Function Calls for Logging — encapsulate","title":"Encapsulate Function Calls for Logging — encapsulate","text":"Evaluates function recording output log measuring elapsed time. currently three different modes implemented encapsulate function call: \"none\": Just runs call current session measures elapsed time. keep log, output printed directly console. Works well together traceback(). \"try\": Similar \"none\", catches error. Output printed console logged. \"evaluate\": Uses package evaluate call function, measure time logging. \"callr\": Uses package callr call function, measure time logging. encapsulation spawns separate R session function called. comes considerable overhead, also guards session teared segfaults.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Encapsulate Function Calls for Logging — encapsulate","text":"","code":"encapsulate( method, .f, .args = list(), .opts = list(), .pkgs = character(), .seed = NA_integer_, .timeout = Inf )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Encapsulate Function Calls for Logging — encapsulate","text":"method (character(1)) One \"none\", \"evaluate\" \"callr\". .f (function()) Function call. .args (list()) Arguments passed .f. .opts (named list()) Options set function call. Options get reset exit. .pkgs (character()) Packages load (attach). .seed (integer(1)) Random seed set invoking function call. Gets reset previous seed exit. .timeout (numeric(1)) Timeout seconds. Uses setTimeLimit() \"none\" \"evaluate\" encapsulation. \"callr\" encapsulation, timeout passed callr::r().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Encapsulate Function Calls for Logging — encapsulate","text":"(named list()) three fields: \"result\": return value .f \"elapsed\": elapsed time seconds. Measured proc.time() difference /function call. \"log\": data.table() columns \"class\" (ordered factor levels \"output\", \"warning\" \"error\") \"message\" (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Encapsulate Function Calls for Logging — encapsulate","text":"","code":"f = function(n) { message(\"hi from f\") if (n > 5) { stop(\"n must be <= 5\") } runif(n) } encapsulate(\"none\", f, list(n = 1), .seed = 1) #> hi from f #> $result #> [1] 0.2655087 #> #> $log #> Empty data.table (0 rows and 2 cols): class,msg #> #> $elapsed #> [1] 0.001 #> if (requireNamespace(\"evaluate\", quietly = TRUE)) { encapsulate(\"evaluate\", f, list(n = 1), .seed = 1) } #> $result #> [1] 0.527917 #> #> $log #> class msg #> #> 1: output hi from f #> #> $elapsed #> [1] 0.002 #> if (requireNamespace(\"callr\", quietly = TRUE)) { encapsulate(\"callr\", f, list(n = 1), .seed = 1) } #> $result #> [1] 0.6006375 #> #> $log #> class msg #> #> 1: output hi from f #> #> $elapsed #> elapsed #> 0.662 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert a Named Vector into a data.table and Vice Versa — enframe","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"enframe() returns data.table::data.table() two columns: names x (seq_along(x) unnamed) values x. deframe() converts two-column data.frame named vector. data.frame single column, unnamed vector returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"","code":"enframe(x, name = \"name\", value = \"value\") deframe(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"x (vector() (enframe()) data.frame() (deframe())) Vector convert data.table::data.table(). name (character(1)) Name first column names. value (character(1)) Name second column values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"data.table::data.table() named vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"","code":"x = 1:3 enframe(x) #> name value #> #> 1: 1 1 #> 2: 2 2 #> 3: 3 3 x = set_names(1:3, letters[1:3]) enframe(x, value = \"x_values\") #> name x_values #> #> 1: a 1 #> 2: b 2 #> 3: c 3"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Variables from a Formula — extract_vars","title":"Extract Variables from a Formula — extract_vars","text":"Given formula() f, returns variables used left-hand side right-hand side formula.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Variables from a Formula — extract_vars","text":"","code":"extract_vars(f)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Variables from a Formula — extract_vars","text":"f (formula()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Variables from a Formula — extract_vars","text":"(list()) elements \"lhs\" \"rhs\", character().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract Variables from a Formula — extract_vars","text":"","code":"extract_vars(Species ~ Sepal.Width + Sepal.Length) #> $lhs #> [1] \"Species\" #> #> $rhs #> [1] \"Sepal.Width\" \"Sepal.Length\" #> extract_vars(Species ~ .) #> $lhs #> [1] \"Species\" #> #> $rhs #> [1] \".\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":null,"dir":"Reference","previous_headings":"","what":"Format Bibentries in Roxygen — format_bib","title":"Format Bibentries in Roxygen — format_bib","text":"Operates named list bibentry() entries formats nicely documentation roxygen2. format_bib() intended called @references section prints complete entry using toRd(). cite_bib() returns family name first author (available, falling back complete author name applicable) year format \"[LastName] (YYYY)\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format Bibentries in Roxygen — format_bib","text":"","code":"format_bib(..., bibentries = NULL, envir = parent.frame()) cite_bib(..., bibentries = NULL, envir = parent.frame())"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format Bibentries in Roxygen — format_bib","text":"... (character()) One names bibentries. bibentries (named list()) Named list bibentries. envir (environment) Environment lookup bibentries provided.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format Bibentries in Roxygen — format_bib","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format Bibentries in Roxygen — format_bib","text":"","code":"bibentries = list(checkmate = citation(\"checkmate\"), R = citation()) format_bib(\"checkmate\") #> [1] \"Lang M (2017).\\n\\\\dQuote{checkmate: Fast Argument Checks for Defensive R Programming.}\\n\\\\emph{The R Journal}, \\\\bold{9}(1), 437--445.\\n\\\\doi{10.32614/RJ-2017-028}.\" format_bib(\"R\") #> [1] \"R Core Team (2024).\\n\\\\emph{R: A Language and Environment for Statistical Computing}.\\nR Foundation for Statistical Computing, Vienna, Austria.\\n\\\\url{https://www.R-project.org/}.\" cite_bib(\"checkmate\") #> [1] \"Lang (2017)\" cite_bib(\"checkmate\", \"R\") #> [1] \"Lang (2017) and R Core Team (2024)\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":null,"dir":"Reference","previous_headings":"","what":"Create Formulas — formulate","title":"Create Formulas — formulate","text":"Given left-hand side right-hand side character vectors, generates new stats::formula().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create Formulas — formulate","text":"","code":"formulate(lhs = character(), rhs = character(), env = NULL, quote = \"right\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create Formulas — formulate","text":"lhs (character()) Left-hand side formula. Multiple elements collapsed \" + \". rhs (character()) Right-hand side formula. Multiple elements collapsed \" + \". env (environment()) Environment new formula. Defaults NULL. quote (character(1)) side formula quote? Subset (\"left\", \"right\"), defaulting \"right\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create Formulas — formulate","text":"stats::formula().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create Formulas — formulate","text":"","code":"formulate(\"Species\", c(\"Sepal.Length\", \"Sepal.Width\")) #> Species ~ Sepal.Length + Sepal.Width #> NULL formulate(rhs = c(\"Sepal.Length\", \"Sepal.Width\")) #> ~Sepal.Length + Sepal.Width #> NULL"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Assign Value to Private Field — get_private<-","title":"Assign Value to Private Field — get_private<-","text":"Convenience function assign value private field R6::R6Class instance.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assign Value to Private Field — get_private<-","text":"","code":"get_private(x, which) <- value"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assign Value to Private Field — get_private<-","text":"x () Object whose private field modified. (character(1)) Private field modified. value () Value assign private field.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assign Value to Private Field — get_private<-","text":"R6 instance x, modified -place. R6 instance, NULL returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Assign Value to Private Field — get_private<-","text":"","code":"library(R6) item = R6Class(\"Item\", private = list(x = 1))$new() get_private(item)$x #> [1] 1 get_private(item, \"x\") = 2L get_private(item)$x #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Private Fields of R6 Objects — get_private","title":"Extract Private Fields of R6 Objects — get_private","text":"Provides access private members R6::R6Class objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Private Fields of R6 Objects — get_private","text":"","code":"get_private(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Private Fields of R6 Objects — get_private","text":"x () Object extract private members .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Private Fields of R6 Objects — get_private","text":"environment() private members, NULL x R6 object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract Private Fields of R6 Objects — get_private","text":"","code":"library(R6) item = R6Class(\"Item\", private = list(x = 1))$new() get_private(item)$x #> [1] 1"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Random Seed — get_seed","title":"Get the Random Seed — get_seed","text":"Retrieves current random seed (.Random.seed global environment), initializes RNG first, necessary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Random Seed — get_seed","text":"","code":"get_seed()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Random Seed — get_seed","text":"integer(). Depends base::RNGkind().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the Random Seed — get_seed","text":"","code":"str(get_seed()) #> int [1:626] 10403 82 -2089519707 -1093835428 -1319683790 1392429101 -202324249 631843854 -539511320 1353072619 ..."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if an Object is Element of a List — has_element","title":"Check if an Object is Element of a List — has_element","text":"Simply checks list contains given object. NB1: Objects compared identity. NB2: use lists complex objects, simpler structures faster operations. NB3: Clones R6 objects detected.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if an Object is Element of a List — has_element","text":"","code":"has_element(.x, .y)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check if an Object is Element of a List — has_element","text":".x (list() | atomic vector()). .y () Object test .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check if an Object is Element of a List — has_element","text":"","code":"has_element(list(1, 2, 3), 1) #> [1] TRUE"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":null,"dir":"Reference","previous_headings":"","what":"Hash Input — hash_input","title":"Hash Input — hash_input","text":"Returns part object used calculate hash.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Hash Input — hash_input","text":"","code":"hash_input(x) # S3 method for class '`function`' hash_input(x) # S3 method for class 'data.table' hash_input(x) # Default S3 method hash_input(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Hash Input — hash_input","text":"x () Object retrieve hash input.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"methods-by-class-","dir":"Reference","previous_headings":"","what":"Methods (by class)","title":"Hash Input — hash_input","text":"hash_input(`function`): formals body returned list(). ensures bytecode parent environment included. hash. hash_input(data.table): data.table converted regular list hash_input() applied elements. conversion list ensures keys indices included hash. hash_input(default): Returns object .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract ids from a List of Objects — ids","title":"Extract ids from a List of Objects — ids","text":"None.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract ids from a List of Objects — ids","text":"","code":"ids(xs)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract ids from a List of Objects — ids","text":"xs (list()) Every element must slot 'id'.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract ids from a List of Objects — ids","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract ids from a List of Objects — ids","text":"","code":"xs = list(a = list(id = \"foo\", a = 1), bar = list(id = \"bar\", a = 2)) ids(xs) #> [1] \"foo\" \"bar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":null,"dir":"Reference","previous_headings":"","what":"Insert or Remove Named Elements — insert_named","title":"Insert or Remove Named Elements — insert_named","text":"Insert elements y x name, remove elements x name. Works vectors, lists, environments data frames data tables. Objects reference semantic (environment() data.table::data.table()) might modified -place.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Insert or Remove Named Elements — insert_named","text":"","code":"insert_named(x, y) # S3 method for class '`NULL`' insert_named(x, y) # Default S3 method insert_named(x, y) # S3 method for class 'environment' insert_named(x, y) # S3 method for class 'data.frame' insert_named(x, y) # S3 method for class 'data.table' insert_named(x, y) remove_named(x, nn) # S3 method for class 'environment' remove_named(x, nn) # S3 method for class 'data.frame' remove_named(x, nn) # S3 method for class 'data.table' remove_named(x, nn)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Insert or Remove Named Elements — insert_named","text":"x (vector() | list() | environment() | data.table::data.table()) Object insert elements , remove elements . Changes -reference environments data tables. y (list()) List elements insert x. nn (character()) Character vector elements remove.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Insert or Remove Named Elements — insert_named","text":"Modified object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Insert or Remove Named Elements — insert_named","text":"","code":"x = list(a = 1, b = 2) insert_named(x, list(b = 3, c = 4)) #> $a #> [1] 1 #> #> $b #> [1] 3 #> #> $c #> [1] 4 #> remove_named(x, \"b\") #> $a #> [1] 1 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":null,"dir":"Reference","previous_headings":"","what":"Invoke a Function Call — invoke","title":"Invoke a Function Call — invoke","text":"alternative interface .call(), similar deprecated function purrr. function tries hard evaluate passed arguments eagerly important working large R objects. recommended pass arguments named order rely positional argument matching.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Invoke a Function Call — invoke","text":"","code":"invoke( .f, ..., .args = list(), .opts = list(), .seed = NA_integer_, .timeout = Inf )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Invoke a Function Call — invoke","text":".f (function()) Function call. ... () Additional function arguments passed .f. .args (list()) Additional function arguments passed .f, (named) list(). arguments concatenated arguments provided via .... .opts (named list()) List options set .f called. Options reset previous state afterwards. .seed (integer(1)) Random seed set invoking function call. Gets reset previous seed exit. .timeout (numeric(1)) Timeout seconds. Uses setTimeLimit(). Note timeouts triggered user interrupt, compiled code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Invoke a Function Call — invoke","text":"","code":"invoke(mean, .args = list(x = 1:10)) #> [1] 5.5 invoke(mean, na.rm = TRUE, .args = list(1:10)) #> [1] 5.5"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for a Single Scalar Value — is_scalar_na","title":"Check for a Single Scalar Value — is_scalar_na","text":"Check Single Scalar Value","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for a Single Scalar Value — is_scalar_na","text":"","code":"is_scalar_na(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for a Single Scalar Value — is_scalar_na","text":"x () Argument check.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check for a Single Scalar Value — is_scalar_na","text":"(logical(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove All Elements Out Of Bounds — keep_in_bounds","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"Filters vector x keep elements bounds [lower, upper]. equivalent following, tries avoid unnecessary allocations: Currently works integer x.","code":"x[!is.na(x) & x >= lower & x <= upper]"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"","code":"keep_in_bounds(x, lower, upper)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"x (integer()) Vector filter. lower (integer(1)) Lower bound. upper (integer(1)) Upper bound.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"(integer()) values [lower, upper].","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"","code":"keep_in_bounds(sample(20), 5, 10) #> [1] 10 7 6 9 8 5"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":null,"dir":"Reference","previous_headings":"","what":"Move all methods of an R6 Class to an environment — leanify_r6","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"leanify_r6 moves content R6::R6Class's functions environment, usually package's namespace, save space serialization R6 objects. leanify_package move methods R6 Classes environment. function class (.e. object generator) replaced stump function nothing except calling original function now resides somewhere else. possible call function definition R6::R6 class inside package, preferred use leanify_package() just leanify R6::R6 classes inside package.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"","code":"leanify_r6(cls, env = cls$parent_env) leanify_package(pkg_env = parent.frame(), skip_if = function(x) FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"cls (R6::R6Class) Class generator modify. env (environment) target environment function stored. either cls$parent_env (default) one parent environments, otherwise stump function find moved (original code) function. pkg_env :: environment namespace leanify R6 classes. package namespace, intended usecase. skip_if :: function Function one argument: called individual R6::R6Class. returns TRUE, class skipped. Default function evaluating FALSE always (.e. skipping classes).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"NULL.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve a Single Data Set — load_dataset","title":"Retrieve a Single Data Set — load_dataset","text":"Loads data set name id package package returns . package installed, error condition \"packageNotFoundError\" raised. name missing packages stored condition packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve a Single Data Set — load_dataset","text":"","code":"load_dataset(id, package, keep_rownames = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve a Single Data Set — load_dataset","text":"id (character(1)) Name data set. package (character(1)) Package load data set . keep_rownames (logical(1)) Keep possible row names (default: FALSE).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve a Single Data Set — load_dataset","text":"","code":"head(load_dataset(\"iris\", \"datasets\")) #> Sepal.Length Sepal.Width Petal.Length Petal.Width Species #> 1 5.1 3.5 1.4 0.2 setosa #> 2 4.9 3.0 1.4 0.2 setosa #> 3 4.7 3.2 1.3 0.2 setosa #> 4 4.6 3.1 1.5 0.2 setosa #> 5 5.0 3.6 1.4 0.2 setosa #> 6 5.4 3.9 1.7 0.4 setosa"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Replace Elements of Vectors with New Values — map_values","title":"Replace Elements of Vectors with New Values — map_values","text":"Replaces values x match old values new. Values matched base::match().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Replace Elements of Vectors with New Values — map_values","text":"","code":"map_values(x, old, new)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Replace Elements of Vectors with New Values — map_values","text":"x (vector()). old (vector()) Vector values replace. new (vector()) Values replace . forced length old base::rep_len().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Replace Elements of Vectors with New Values — map_values","text":"(vector()) length x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Replace Elements of Vectors with New Values — map_values","text":"","code":"x = letters[1:5] # replace all \"b\" with \"_b_\", and all \"c\" with \"_c_\" old = c(\"b\", \"c\") new = c(\"_b_\", \"_c_\") map_values(x, old, new) #> [1] \"a\" \"_b_\" \"_c_\" \"d\" \"e\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr3misc-package.html","id":null,"dir":"Reference","previous_headings":"","what":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","title":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","text":"Frequently used helper functions assertions used 'mlr3' companion packages. Comes helper functions functional programming, printing, work 'data.table', well generally useful 'R6' classes. package also supersedes package 'BBmisc'.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr3misc-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","text":"Maintainer: Michel Lang michellang@gmail.com (ORCID) Authors: Patrick Schratz patrick.schratz@gmail.com (ORCID)","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":null,"dir":"Reference","previous_headings":"","what":"Dictionary of Callbacks — mlr_callbacks","title":"Dictionary of Callbacks — mlr_callbacks","text":"simple Dictionary storing objects class Callback. callback associated help page, see mlr_callbacks_[id]. dictionary can get populated additional callbacks add-packages. convention, key start name package, .e. package.callback. convenient way retrieve construct learners, see clbk()/clbks().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dictionary of Callbacks — mlr_callbacks","text":"","code":"mlr_callbacks"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Dictionary of Callbacks — mlr_callbacks","text":"object class DictionaryCallbacks (inherits Dictionary, R6) length 13.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":null,"dir":"Reference","previous_headings":"","what":"Selectively Modify Elements of a Vector — modify_if","title":"Selectively Modify Elements of a Vector — modify_if","text":"Modifies elements vector selectively, similar functions purrr. modify_if() applies predicate function .p elements .x applies .f elements .x .p evaluates TRUE. modify_at() applies .f elements .x selected via ..","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Selectively Modify Elements of a Vector — modify_if","text":"","code":"modify_if(.x, .p, .f, ...) modify_at(.x, .at, .f, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Selectively Modify Elements of a Vector — modify_if","text":".x (vector()). .p (function()) Predicate function. .f (function()) Function apply .x. ... () Additional arguments passed .f. .((integer() | character())) Index vector select elements .x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Selectively Modify Elements of a Vector — modify_if","text":"","code":"x = modify_if(iris, is.factor, as.character) str(x) #> 'data.frame':\t150 obs. of 5 variables: #> $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... #> $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... #> $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... #> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... #> $ Species : chr \"setosa\" \"setosa\" \"setosa\" \"setosa\" ... x = modify_at(iris, 5, as.character) x = modify_at(iris, \"Sepal.Length\", sqrt) str(x) #> 'data.frame':\t150 obs. of 5 variables: #> $ Sepal.Length: num 2.26 2.21 2.17 2.14 2.24 ... #> $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... #> $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... #> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... #> $ Species : Factor w/ 3 levels \"setosa\",\"versicolor\",..: 1 1 1 1 1 1 1 1 1 1 ..."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Named List — named_list","title":"Create a Named List — named_list","text":"Create Named List","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Named List — named_list","text":"","code":"named_list(nn = character(0L), init = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Named List — named_list","text":"nn (character()) Names new list. init () list elements initialized value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a Named List — named_list","text":"(named list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Named List — named_list","text":"","code":"named_list(c(\"a\", \"b\")) #> $a #> NULL #> #> $b #> NULL #> named_list(c(\"a\", \"b\"), init = 1) #> $a #> [1] 1 #> #> $b #> [1] 1 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Named Vector — named_vector","title":"Create a Named Vector — named_vector","text":"Creates simple atomic vector init values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Named Vector — named_vector","text":"","code":"named_vector(nn = character(0L), init = NA)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Named Vector — named_vector","text":"nn (character()) Names new vector init (atomic) vector elements initialized value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a Named Vector — named_vector","text":"(named vector()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Named Vector — named_vector","text":"","code":"named_vector(c(\"a\", \"b\"), NA) #> a b #> NA NA named_vector(character()) #> named logical(0)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":null,"dir":"Reference","previous_headings":"","what":"A Type-Stable names() Replacement — names2","title":"A Type-Stable names() Replacement — names2","text":"simple wrapper around base::names(). Returns character vector even names attribute set. Values NA \"\" treated missing replaced value provided missing_val.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Type-Stable names() Replacement — names2","text":"","code":"names2(x, missing_val = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Type-Stable names() Replacement — names2","text":"x () Object. missing_val (atomic(1)) Value set missing names. Default NA_character_.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Type-Stable names() Replacement — names2","text":"(character(length(x))).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Type-Stable names() Replacement — names2","text":"","code":"x = 1:3 names(x) #> NULL names2(x) #> [1] NA NA NA names(x)[1:2] = letters[1:2] names(x) #> [1] \"a\" \"b\" NA names2(x, missing_val = \"\") #> [1] \"a\" \"b\" \"\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":null,"dir":"Reference","previous_headings":"","what":"Negated in-operator — %nin%","title":"Negated in-operator — %nin%","text":"operator equivalent !(x %% y).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negated in-operator — %nin%","text":"","code":"x %nin% y"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negated in-operator — %nin%","text":"x (vector()) Values y. y (vector()) Values match .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":null,"dir":"Reference","previous_headings":"","what":"Opens a Manual Page — open_help","title":"Opens a Manual Page — open_help","text":"Simply opens manual page specified \"package::topic\" syntax.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Opens a Manual Page — open_help","text":"","code":"open_help(man)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Opens a Manual Page — open_help","text":"man (character(1)) Manual page open \"package::topic\" syntax.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Opens a Manual Page — open_help","text":"Nothing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":null,"dir":"Reference","previous_headings":"","what":"Functions for Formatted Output and Conditions — printf","title":"Functions for Formatted Output and Conditions — printf","text":"catf(), messagef(), warningf() stopf() wrappers around base::cat(), base::message(), base::warning() base::stop(), respectively. call included warnings errors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Functions for Formatted Output and Conditions — printf","text":"","code":"catf(msg, ..., file = \"\", wrap = FALSE) messagef(msg, ..., wrap = FALSE) warningf(msg, ..., wrap = FALSE) stopf(msg, ..., wrap = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Functions for Formatted Output and Conditions — printf","text":"msg (character(1)) Format string passed base::sprintf(). ... () Arguments passed base::sprintf(). file (character(1)) Passed base::cat(). wrap (integer(1) | logical(1)) set positive integer, base::strwrap() used wrap string provided width. set TRUE, width defaults 0.9 * getOption(\"width\"). set FALSE, wrapping disabled (default). wrapping enabled, whitespace characters ([[:space:]]) converted spaces, consecutive spaces converted single space.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Functions for Formatted Output and Conditions — printf","text":"","code":"messagef(\" This is a rather long %s on multiple lines which will get wrapped. \", \"string\", wrap = 15) #> This is a #> rather long #> string on #> multiple lines #> which will get #> wrapped."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":null,"dir":"Reference","previous_headings":"","what":"Bind Columns by Reference — rcbind","title":"Bind Columns by Reference — rcbind","text":"Performs base::cbind() data.tables, possibly reference.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bind Columns by Reference — rcbind","text":"","code":"rcbind(x, y)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bind Columns by Reference — rcbind","text":"x (data.table::data.table())data.table::data.table() add columns . y (data.table::data.table())data.table::data.table() take columns .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bind Columns by Reference — rcbind","text":"(data.table::data.table()): Updated x .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bind Columns by Reference — rcbind","text":"","code":"x = data.table::data.table(a = 1:3, b = 3:1) y = data.table::data.table(c = runif(3)) rcbind(x, y) #> a b c #> #> 1: 1 3 0.4183614 #> 2: 2 2 0.6688707 #> 3: 3 1 0.5076503"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers to Create Manual Pages — rd_info","title":"Helpers to Create Manual Pages — rd_info","text":"rd_info() internal generic generate Rd markdown code used manual pages. rd_format_string() rd_format_range() string functions assist generating proper Rd code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helpers to Create Manual Pages — rd_info","text":"","code":"rd_info(obj, ...) rd_format_range(lower, upper) rd_format_string(str, quote = c(\"\\\\dQuote{\", \"}\")) rd_format_packages(packages)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helpers to Create Manual Pages — rd_info","text":"obj () Object respective class. ... ()) Additional arguments. lower (numeric(1)) Lower bound. upper (numeric(1)) Upper bound. str (character()) Vector strings. quote (character()) Quotes use around element x. replicated lenght 2. packages (character()) Vector package names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Helpers to Create Manual Pages — rd_info","text":"character(), possibly markdown code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":null,"dir":"Reference","previous_headings":"","what":"Recycle List of Vectors to Common Length — recycle_vectors","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"Repeats vectors list .x length longest vector using rep() argument length.. operation work length longest vectors integer multiple shorter vectors, throw exception otherwise.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"","code":"recycle_vectors(.x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":".x (list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"(list()) vectors size.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"","code":"recycle_vectors(list(a = 1:3, b = 2)) #> $a #> [1] 1 2 3 #> #> $b #> [1] 2 2 2 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"Register function callback called namespace loaded. Calls callback namespace already loaded also adds unload-hook removes load hook.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"","code":"register_namespace_callback(pkgname, namespace, callback)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"pkgname (character(1)) Name package registers callback. namespace (character(1)) Namespace react . callback (function()) Function call namespace load.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"NULL.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Reorder Vector According to Second Vector — reorder_vector","title":"Reorder Vector According to Second Vector — reorder_vector","text":"Returns integer vector order vector x according vector y.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reorder Vector According to Second Vector — reorder_vector","text":"","code":"reorder_vector(x, y, na_last = NA)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reorder Vector According to Second Vector — reorder_vector","text":"x (vector()). y (vector()). na_last (logical(1)) values x y? NA: Extra values removed. FALSE: Extra values moved beginning new vector. TRUE: Extra values moved end new vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Reorder Vector According to Second Vector — reorder_vector","text":"(integer()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reorder Vector According to Second Vector — reorder_vector","text":"","code":"# x subset of y x = c(\"b\", \"a\", \"c\", \"d\") y = letters x[reorder_vector(x, y)] #> [1] \"a\" \"b\" \"c\" \"d\" # y subset of x y = letters[1:3] x[reorder_vector(x, y)] #> [1] \"a\" \"b\" \"c\" x[reorder_vector(x, y, na_last = TRUE)] #> [1] \"a\" \"b\" \"c\" \"d\" x[reorder_vector(x, y, na_last = FALSE)] #> [1] \"d\" \"a\" \"b\" \"c\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":null,"dir":"Reference","previous_headings":"","what":"Require Multiple Namespaces — require_namespaces","title":"Require Multiple Namespaces — require_namespaces","text":"Packages loaded (attached) via base::requireNamespace(). least package can loaded, exception class \"packageNotFoundError\" raised. character vector missing packages stored condition packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Require Multiple Namespaces — require_namespaces","text":"","code":"require_namespaces( pkgs, msg = \"The following packages could not be loaded: %s\", quietly = FALSE )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Require Multiple Namespaces — require_namespaces","text":"pkgs (character()) Packages load. msg (character(1)) Message print error. Use \"%s\" placeholder list packages. quietly (logical(1)) TRUE returns TRUE packages loaded, otherwise FALSE.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Require Multiple Namespaces — require_namespaces","text":"(character()) loaded packages (invisibly).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Require Multiple Namespaces — require_namespaces","text":"","code":"require_namespaces(\"mlr3misc\") # catch condition, return missing packages tryCatch(require_namespaces(c(\"mlr3misc\", \"foobaaar\")), packageNotFoundError = function(e) e$packages) #> [1] \"foobaaar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Row-Wise Constructor for 'data.table' — rowwise_table","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"Similar tibble function tribble(), function allows construct tabular data row-wise fashion. first arguments passed formula interpreted column names. remaining arguments put resulting table.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"","code":"rowwise_table(..., .key = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"... () Arguments: Column names first rows formulas (empty left hand side), tabular data following rows. .key (character(1)) NULL, set key via data.table::setkeyv() constructing table.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"","code":"rowwise_table( ~a, ~b, 1, \"a\", 2, \"b\" ) #> a b #> #> 1: 1 a #> 2: 2 b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":null,"dir":"Reference","previous_headings":"","what":"Sequence Construction Helpers — sequence_helpers","title":"Sequence Construction Helpers — sequence_helpers","text":"seq_row() creates sequence along number rows x, seq_col() sequence along number columns x. seq_len0() seq_along0() 0-based counterparts base::seq_len() base::seq_along().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sequence Construction Helpers — sequence_helpers","text":"","code":"seq_row(x) seq_col(x) seq_len0(n) seq_along0(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sequence Construction Helpers — sequence_helpers","text":"x () Arbitrary object. Used query rows, cols length. n (integer(1)) Length sequence.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sequence Construction Helpers — sequence_helpers","text":"","code":"seq_len0(3) #> [1] 0 1 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the Class — set_class","title":"Set the Class — set_class","text":"Simple wrapper class(x) = classes.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the Class — set_class","text":"","code":"set_class(x, classes)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the Class — set_class","text":"x (). classes (character(1)) Vector new class names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the Class — set_class","text":"Object x, updated class attribute.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set the Class — set_class","text":"","code":"set_class(list(), c(\"foo1\", \"foo2\")) #> list() #> attr(,\"class\") #> [1] \"foo1\" \"foo2\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Set Names — set_names","title":"Set Names — set_names","text":"Sets names (colnames) x nm. nm function, used transform already existing names x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set Names — set_names","text":"","code":"set_names(x, nm = x, ...) set_col_names(x, nm, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set Names — set_names","text":"x (.) Object set names . nm (character() | function()) New names, function transforms already existing names. ... () Passed nm nm function.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set Names — set_names","text":"x updated names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set Names — set_names","text":"","code":"x = letters[1:3] # name x with itself: x = set_names(x) print(x) #> a b c #> \"a\" \"b\" \"c\" # convert names to uppercase x = set_names(x, toupper) print(x) #> A B C #> \"a\" \"b\" \"c\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":null,"dir":"Reference","previous_headings":"","what":"Modify Values of a Parameter Set — set_params","title":"Modify Values of a Parameter Set — set_params","text":"Convenience function modfiy (overwrite) values paradox::ParamSet.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Modify Values of a Parameter Set — set_params","text":"","code":"set_params(.ps, ..., .values = list(), .insert = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Modify Values of a Parameter Set — set_params","text":".ps (paradox::ParamSet) parameter set whose values changed. ... () Named parameter values. .values (list()) Named list parameter values. .insert (logical(1)) Whether insert values (old values kept, overwritten), discard old values. TRUE default.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Modify Values of a Parameter Set — set_params","text":"","code":"if (requireNamespace(\"paradox\")) { param_set = paradox::ps(a = paradox::p_dbl(), b = paradox::p_dbl()) param_set$values$a = 0 set_params(param_set, a = 1, .values = list(b = 2), .insert = TRUE) set_params(param_set, a = 3, .insert = FALSE) set_params(param_set, b = 4, .insert = TRUE) } #> #> id class lower upper nlevels default value #> #> 1: a ParamDbl -Inf Inf Inf 3 #> 2: b ParamDbl -Inf Inf Inf 4"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":null,"dir":"Reference","previous_headings":"","what":"Safe Version of Sample — shuffle","title":"Safe Version of Sample — shuffle","text":"version sample() treat positive scalar integer x differently. See example.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Safe Version of Sample — shuffle","text":"","code":"shuffle(x, n = length(x), ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Safe Version of Sample — shuffle","text":"x (vector()) Vector sample elements . n (integer()) Number elements sample. ... () Arguments passed base::sample.int().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Safe Version of Sample — shuffle","text":"","code":"x = 2:3 sample(x) #> [1] 3 2 shuffle(x) #> [1] 2 3 x = 3 sample(x) #> [1] 1 3 2 shuffle(x) #> [1] 3"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":null,"dir":"Reference","previous_headings":"","what":"Collapse Strings — str_collapse","title":"Collapse Strings — str_collapse","text":"Collapse multiple strings single string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collapse Strings — str_collapse","text":"","code":"str_collapse(str, sep = \", \", quote = character(), n = Inf, ellipsis = \"[...]\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collapse Strings — str_collapse","text":"str (character()) Vector strings. sep (character(1)) String used collapse elements x. quote (character()) Quotes use around element x. replicated lenght 2. n (integer(1)) Number elements keep x. See utils::head(). ellipsis (character(1)) string shortened, signaled appending ellipsis str. Default \" [...]\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collapse Strings — str_collapse","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collapse Strings — str_collapse","text":"","code":"str_collapse(letters, quote = \"'\", n = 5) #> [1] \"'a', 'b', 'c', 'd', 'e', [...]\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":null,"dir":"Reference","previous_headings":"","what":"Indent Strings — str_indent","title":"Indent Strings — str_indent","text":"Formats text block printing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Indent Strings — str_indent","text":"","code":"str_indent(initial, str, width = 0.9 * getOption(\"width\"), exdent = 2L, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Indent Strings — str_indent","text":"initial (character(1)) Initial string, passed strwrap(). str (character()) Vector strings. width (integer(1)) Width output. exdent (integer(1)) Indentation subsequent lines paragraph. ... () Additional parameters passed str_collapse().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Indent Strings — str_indent","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Indent Strings — str_indent","text":"","code":"cat(str_indent(\"Letters:\", str_collapse(letters), width = 25), sep = \"\\n\") #> Letters: a, b, c, d, e, #> f, g, h, i, j, k, l, #> m, n, o, p, q, r, s, #> t, u, v, w, x, y, z"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":null,"dir":"Reference","previous_headings":"","what":"Truncate Strings — str_trunc","title":"Truncate Strings — str_trunc","text":"str_trunc() truncates string given width.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Truncate Strings — str_trunc","text":"","code":"str_trunc(str, width = 0.9 * getOption(\"width\"), ellipsis = \"[...]\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Truncate Strings — str_trunc","text":"str (character()) Vector strings. width (integer(1)) Width output. ellipsis (character(1)) string shortened, signaled appending ellipsis str. Default \"[...]\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Truncate Strings — str_trunc","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Truncate Strings — str_trunc","text":"","code":"str_trunc(\"This is a quite long string\", 20) #> [1] \"This is a quite[...]\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":null,"dir":"Reference","previous_headings":"","what":"Strip source references from objects — strip_srcrefs","title":"Strip source references from objects — strip_srcrefs","text":"Source references can make objects unexpectedly large undesireable many situations. renv installs packages ---keep.source option, sometimes need remove source references objects. Methods remove source references input, otherwise leave input unchanged.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Strip source references from objects — strip_srcrefs","text":"","code":"strip_srcrefs(x, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Strip source references from objects — strip_srcrefs","text":"x () object strip source references. ... () Additional arguments method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert a Vector of Bits to a Decimal Number — to_decimal","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"Converts logical vector binary decimal. bit vector may length, last position least significant, .e. bits multiplied 2^(n-1), 2^(n-2), ..., 2^1, 2^0 n length bit vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"","code":"to_decimal(bits)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"bits (logical()) Logical vector input values. Missing values treated FALSE. bits longer 30 elements, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"(integer(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":null,"dir":"Reference","previous_headings":"","what":"Topological Sorting of Dependency Graphs — topo_sort","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"Topologically sort graph, passed node labels list direct parents node, labels, . node can 'processed' parents 'processed', hence occur previous indices resulting sorting. Returns table, topological row order IDs, entry depth, encodes topological layer, starting 0. nodes depth == 0 ones dependencies, one maximal depth ones nothing else depends .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"","code":"topo_sort(nodes)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"nodes (data.table::data.table()) 2 columns: id type character, contains node labels. parents type list character, contains direct parents label id.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"(data.table::data.table()) columns id, depth, sorted topologically IDs.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"","code":"nodes = rowwise_table( ~id, ~parents, \"a\", \"b\", \"b\", \"c\", \"c\", character() ) topo_sort(nodes) #> id depth #> #> 1: c 0 #> 2: b 1 #> 3: a 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Transpose lists of lists — transpose_list","title":"Transpose lists of lists — transpose_list","text":"Transposes list list, turns inside , similar function transpose() package purrr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transpose lists of lists — transpose_list","text":"","code":"transpose_list(.l)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transpose lists of lists — transpose_list","text":".l (list() list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transpose lists of lists — transpose_list","text":"list().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transpose lists of lists — transpose_list","text":"","code":"x = list(list(a = 2, b = 3), list(a = 5, b = 10)) str(x) #> List of 2 #> $ :List of 2 #> ..$ a: num 2 #> ..$ b: num 3 #> $ :List of 2 #> ..$ a: num 5 #> ..$ b: num 10 str(transpose_list(x)) #> List of 2 #> $ a:List of 2 #> ..$ : num 2 #> ..$ : num 5 #> $ b:List of 2 #> ..$ : num 3 #> ..$ : num 10 # list of data frame rows: transpose_list(iris[1:2, ]) #> [[1]] #> [[1]]$Sepal.Length #> [1] 5.1 #> #> [[1]]$Sepal.Width #> [1] 3.5 #> #> [[1]]$Petal.Length #> [1] 1.4 #> #> [[1]]$Petal.Width #> [1] 0.2 #> #> [[1]]$Species #> [1] setosa #> Levels: setosa versicolor virginica #> #> #> [[2]] #> [[2]]$Sepal.Length #> [1] 4.9 #> #> [[2]]$Sepal.Width #> [1] 3 #> #> [[2]]$Petal.Length #> [1] 1.4 #> #> [[2]]$Petal.Width #> [1] 0.2 #> #> [[2]]$Species #> [1] setosa #> Levels: setosa versicolor virginica #> #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":null,"dir":"Reference","previous_headings":"","what":"Unnest List Columns — unnest","title":"Unnest List Columns — unnest","text":"Transforms list columns separate columns, possibly reference. original columns removed returned table. non-atomic objects list columns expand new list column.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unnest List Columns — unnest","text":"","code":"unnest(x, cols, prefix = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unnest List Columns — unnest","text":"x (data.table::data.table())data.table::data.table() columns unnest. cols (character()) Column names list columns operate . prefix (logical(1) | character(1)) String prefix new column names . Use \"{col}\" (without quotes) placeholder original column name.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unnest List Columns — unnest","text":"(data.table::data.table()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unnest List Columns — unnest","text":"","code":"x = data.table::data.table( id = 1:2, value = list(list(a = 1, b = 2), list(a = 2, b = 2)) ) print(x) #> id value #> #> 1: 1 #> 2: 2 unnest(data.table::copy(x), \"value\") #> id a b #> #> 1: 1 1 2 #> 2: 2 2 2 unnest(data.table::copy(x), \"value\", prefix = \"{col}.\") #> id value.a value.b #> #> 1: 1 1 2 #> 2: 2 2 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":null,"dir":"Reference","previous_headings":"","what":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"Works similar base::.min()/base::.max(), corrects ties. Missing values treated Inf which_min -Inf which_max().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"","code":"which_min(x, ties_method = \"random\", na_rm = FALSE) which_max(x, ties_method = \"random\", na_rm = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"x (numeric()) Numeric vector. ties_method (character(1)) Handling ties. One \"first\", \"last\" \"random\" (default) return first index, last index, random index minimum/maximum values. na_rm (logical(1)) Remove NAs computation?","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"(integer()): Index minimum/maximum value. Returns empty integer vector empty input vectors vectors non-missing values (na_rm TRUE). Returns NA na_rm FALSE least one NA found x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"","code":"x = c(2, 3, 1, 3, 5, 1, 1) which_min(x, ties_method = \"first\") #> [1] 3 which_min(x, ties_method = \"last\") #> [1] 7 which_min(x, ties_method = \"random\") #> [1] 6 which_max(x) #> [1] 5 which_max(integer(0)) #> integer(0) which_max(NA) #> [1] NA which_max(c(NA, 1)) #> [1] NA"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":null,"dir":"Reference","previous_headings":"","what":"Execture code with a modified search path — with_package","title":"Execture code with a modified search path — with_package","text":"Attaches package search path (already attached), executes code eventually removes package search path , restoring previous state. Note function deprecated favor (now fixed) version withr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execture code with a modified search path — with_package","text":"","code":"with_package(package, code, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execture code with a modified search path — with_package","text":"package (character(1)) Name package attach. code (expression) Code run. ... () Additional arguments passed library().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execture code with a modified search path — with_package","text":"Result evaluation code.","code":""},{"path":[]},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0151","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.15.1","title":"mlr3misc 0.15.1","text":"CRAN release: 2024-06-24 refactor: Update as_callback() functions.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0150","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.15.0","title":"mlr3misc 0.15.0","text":"CRAN release: 2024-04-10 Feat: Added strip_screfs S3 generic, removes source references objects RNG state now copied callr session using encapsulate().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0140","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.14.0","title":"mlr3misc 0.14.0","text":"CRAN release: 2024-02-01 Added argument .compile function crate() R disables byte-code compilation functions changing enclosing environment Added possibility include prototype arguments adding elements Dictionary Removed unused argument required_args Dictionary class Disable leanification ROXYGEN_PKG environment variable set","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0130","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.13.0","title":"mlr3misc 0.13.0","text":"CRAN release: 2023-09-20 Updated default environment crate() topenv() (#86). Added safe methods dictionary retrieval (#83) fix: Fixed important bug caused serialized objects overly large installing mlr3 ---keep.source (#88)","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0120","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.12.0","title":"mlr3misc 0.12.0","text":"CRAN release: 2023-05-12 Added new encapsulation mode \"try\". Added functions dictionary_sugar_inc_get dictionary_sugar_inc_mget allow conveniently add suffixes dictionary ids retrieving objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0110","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.11.0","title":"mlr3misc 0.11.0","text":"CRAN release: 2022-09-22 Added initial support callback mechanism, see as_callback(). Added helper catn(). Added helper set_params(). Added assign method get_private(). Elements dictionary via dictionary_sugar_mget() now returned named.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0100","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.10.0","title":"mlr3misc 0.10.0","text":"CRAN release: 2022-01-11 Added helper get_private(). Added helper map_br() map_bc(). Added helper recycle_vectors(). Added helpers walk(), iwalk() pwalk().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-095","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.5","title":"mlr3misc 0.9.5","text":"CRAN release: 2021-11-16 Added helper deframe().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-094","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.4","title":"mlr3misc 0.9.4","text":"CRAN release: 2021-09-08 Added helper capitalize(). Added helper to_decimal(). Fixed cleanup register_namespace_callback().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-093","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.3","title":"mlr3misc 0.9.3","text":"CRAN release: 2021-07-14 New (internal) helper functions: calculate_hash() assert_ro_binding()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-092","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.2","title":"mlr3misc 0.9.2","text":"CRAN release: 2021-06-29 R6 objects retrieved dictionary now properly cloned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-091","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.1","title":"mlr3misc 0.9.1","text":"CRAN release: 2021-04-28 Fixed compilation R versions older 3.5.0 (#59).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-090","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.0","title":"mlr3misc 0.9.0","text":"CRAN release: 2021-04-12 Changed return type reorder_vector(). Added assertions pmap() avoid segfault (#56). Added count_missing().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-080","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.8.0","title":"mlr3misc 0.8.0","text":"CRAN release: 2021-03-19 New function reorder_vector(). formulate() can now quote terms, defaulting quote terms right hand side.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-070","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.7.0","title":"mlr3misc 0.7.0","text":"CRAN release: 2021-01-05 Make map functions work nicely data frames data tables. formulate() now supports multiple LHS terms. Added format_bib() cite_bib() helpers working bibentires roxygen2.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-060","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.6.0","title":"mlr3misc 0.6.0","text":"CRAN release: 2020-11-17 New argument .timeout invoke(). New argument .timeout encapsulate(). Removed cite_bib() Rd macro \\cite{} removed orphaned package bibtex suggests. New argument quietly require_namespaces(). New function crate() cleanly separate function environment. New function register_namespace_callback().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-050","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.5.0","title":"mlr3misc 0.5.0","text":"CRAN release: 2020-08-13 Added compose() function function composition. Added method leanify_package() shrinks size serialized R6 objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-040","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.4.0","title":"mlr3misc 0.4.0","text":"CRAN release: 2020-07-17 Added helper functions assist generating Rd documentation ‘mlr3’ objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-030","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.3.0","title":"mlr3misc 0.3.0","text":"CRAN release: 2020-06-03 Introduced placeholder column name prefixes unnest().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-020","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.2.0","title":"mlr3misc 0.2.0","text":"CRAN release: 2020-04-15 Fixed issue rcbind() columns x named y (#42). Fixed broken .exit() invoke() seed list options provided.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-018","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.8","title":"mlr3misc 0.1.8","text":"CRAN release: 2020-02-21 New function check_packages_installed(). New function open_help().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-017","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.7","title":"mlr3misc 0.1.7","text":"CRAN release: 2020-01-28 map_dtr(), imap_dtr() pmap_dtr() now pass .idcol argument idcol data.table::rbindlist(). cite_bib() can now handle packages multiple citation entries. Added argument wrap catf(), messagef(), warningf() stopf() wrap respective messages customizable width. Added with_package() helper, similar one package withr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-016","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.6","title":"mlr3misc 0.1.6","text":"CRAN release: 2019-12-12 cite_bib() Rd macro \\cite{} can now return citation information package key set \"pkg::citation\". Updated dictionary helpers.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-015","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.5","title":"mlr3misc 0.1.5","text":"CRAN release: 2019-09-28 Fixed error C code discovered UBSAN checks CRAN. Added dictionary_sugar_mget(). Renamed dictionary_sugar() dictionary_sugar_get(). Added function cite_bib() Rd macro \\cite{} insert entries bibtex files roxygen documentation. unnest() now creates list columns non atomic list elements.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-014","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.4","title":"mlr3misc 0.1.4","text":"CRAN release: 2019-09-17 Added argument na_rm which_max() which_min(). Fixed bug as_short_string() empty atomic vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-013","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.3","title":"mlr3misc 0.1.3","text":"CRAN release: 2019-08-22 New function detect(). New function dictionary_sugar(). now asserted return value Dictionary$get() R6 object. Fix assertions Dictionary","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-012","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.2","title":"mlr3misc 0.1.2","text":"CRAN release: 2019-08-07 New function named_vector(). New function keep_in_bounds(). New function set_col_names(). New function distinct_values(). Added argument .key rowwise_table(). Additional arguments passed Dictionary$get() Dictionary$mget() must now named.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-011","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.1","title":"mlr3misc 0.1.1","text":"CRAN release: 2019-07-23 New function encapsulate() call functions recording log. invoke(): New arguments .opts .seed temporarily set options random seeds, respectively. Fixed warnings partial argument matching.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-010","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.0","title":"mlr3misc 0.1.0","text":"CRAN release: 2019-07-10 Initial release.","code":""}] +[{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"gnu-lesser-general-public-license","dir":"","previous_headings":"","what":"GNU LESSER GENERAL PUBLIC LICENSE","title":"NA","text":"Version 2.1, February 1999","code":"Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]"},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"NA","text":"licenses software designed take away freedom share change . contrast, GNU General Public Licenses intended guarantee freedom share change free software–make sure software free users. license, Lesser General Public License, applies specially designated software packages–typically libraries–Free Software Foundation authors decide use . can use , suggest first think carefully whether license ordinary General Public License better strategy use particular case, based explanations . speak free software, referring freedom use, price. General Public Licenses designed make sure freedom distribute copies free software (charge service wish); receive source code can get want ; can change software use pieces new free programs; informed can things. protect rights, need make restrictions forbid distributors deny rights ask surrender rights. restrictions translate certain responsibilities distribute copies library modify . example, distribute copies library, whether gratis fee, must give recipients rights gave . must make sure , , receive can get source code. link code library, must provide complete object files recipients, can relink library making changes library recompiling . must show terms know rights. protect rights two-step method: (1) copyright library, (2) offer license, gives legal permission copy, distribute /modify library. protect distributor, want make clear warranty free library. Also, library modified someone else passed , recipients know original version, original author’s reputation affected problems might introduced others. Finally, software patents pose constant threat existence free program. wish make sure company effectively restrict users free program obtaining restrictive license patent holder. Therefore, insist patent license obtained version library must consistent full freedom use specified license. GNU software, including libraries, covered ordinary GNU General Public License. license, GNU Lesser General Public License, applies certain designated libraries, quite different ordinary General Public License. use license certain libraries order permit linking libraries non-free programs. program linked library, whether statically using shared library, combination two legally speaking combined work, derivative original library. ordinary General Public License therefore permits linking entire combination fits criteria freedom. Lesser General Public License permits lax criteria linking code library. call license “Lesser” General Public License Less protect user’s freedom ordinary General Public License. also provides free software developers Less advantage competing non-free programs. disadvantages reason use ordinary General Public License many libraries. However, Lesser license provides advantages certain special circumstances. example, rare occasions, may special need encourage widest possible use certain library, becomes de-facto standard. achieve , non-free programs must allowed use library. frequent case free library job widely used non-free libraries. case, little gain limiting free library free software , use Lesser General Public License. cases, permission use particular library non-free programs enables greater number people use large body free software. example, permission use GNU C Library non-free programs enables many people use whole GNU operating system, well variant, GNU/Linux operating system. Although Lesser General Public License Less protective users’ freedom, ensure user program linked Library freedom wherewithal run program using modified version Library. precise terms conditions copying, distribution modification follow. Pay close attention difference “work based library” “work uses library”. former contains code derived library, whereas latter must combined library order run.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"terms-and-conditions-for-copying-distribution-and-modification","dir":"","previous_headings":"","what":"TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION","title":"NA","text":"0. License Agreement applies software library program contains notice placed copyright holder authorized party saying may distributed terms Lesser General Public License (also called “License”). licensee addressed “”. “library” means collection software functions /data prepared conveniently linked application programs (use functions data) form executables. “Library”, , refers software library work distributed terms. “work based Library” means either Library derivative work copyright law: say, work containing Library portion , either verbatim modifications /translated straightforwardly another language. (Hereinafter, translation included without limitation term “modification”.) “Source code” work means preferred form work making modifications . library, complete source code means source code modules contains, plus associated interface definition files, plus scripts used control compilation installation library. Activities copying, distribution modification covered License; outside scope. act running program using Library restricted, output program covered contents constitute work based Library (independent use Library tool writing ). Whether true depends Library program uses Library . 1. may copy distribute verbatim copies Library’s complete source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice disclaimer warranty; keep intact notices refer License absence warranty; distribute copy License along Library. may charge fee physical act transferring copy, may option offer warranty protection exchange fee. 2. may modify copy copies Library portion , thus forming work based Library, copy distribute modifications work terms Section 1 , provided also meet conditions: ) modified work must software library. b) must cause files modified carry prominent notices stating changed files date change. c) must cause whole work licensed charge third parties terms License. d) facility modified Library refers function table data supplied application program uses facility, argument passed facility invoked, must make good faith effort ensure , event application supply function table, facility still operates, performs whatever part purpose remains meaningful. (example, function library compute square roots purpose entirely well-defined independent application. Therefore, Subsection 2d requires application-supplied function table used function must optional: application supply , square root function must still compute square roots.) requirements apply modified work whole. identifiable sections work derived Library, can reasonably considered independent separate works , License, terms, apply sections distribute separate works. distribute sections part whole work based Library, distribution whole must terms License, whose permissions licensees extend entire whole, thus every part regardless wrote . Thus, intent section claim rights contest rights work written entirely ; rather, intent exercise right control distribution derivative collective works based Library. addition, mere aggregation another work based Library Library (work based Library) volume storage distribution medium bring work scope License. 3. may opt apply terms ordinary GNU General Public License instead License given copy Library. , must alter notices refer License, refer ordinary GNU General Public License, version 2, instead License. (newer version version 2 ordinary GNU General Public License appeared, can specify version instead wish.) make change notices. change made given copy, irreversible copy, ordinary GNU General Public License applies subsequent copies derivative works made copy. option useful wish copy part code Library program library. 4. may copy distribute Library (portion derivative , Section 2) object code executable form terms Sections 1 2 provided accompany complete corresponding machine-readable source code, must distributed terms Sections 1 2 medium customarily used software interchange. distribution object code made offering access copy designated place, offering equivalent access copy source code place satisfies requirement distribute source code, even though third parties compelled copy source along object code. 5. program contains derivative portion Library, designed work Library compiled linked , called “work uses Library”. work, isolation, derivative work Library, therefore falls outside scope License. However, linking “work uses Library” Library creates executable derivative Library (contains portions Library), rather “work uses library”. executable therefore covered License. Section 6 states terms distribution executables. “work uses Library” uses material header file part Library, object code work may derivative work Library even though source code . Whether true especially significant work can linked without Library, work library. threshold true precisely defined law. object file uses numerical parameters, data structure layouts accessors, small macros small inline functions (ten lines less length), use object file unrestricted, regardless whether legally derivative work. (Executables containing object code plus portions Library still fall Section 6.) Otherwise, work derivative Library, may distribute object code work terms Section 6. executables containing work also fall Section 6, whether linked directly Library . 6. exception Sections , may also combine link “work uses Library” Library produce work containing portions Library, distribute work terms choice, provided terms permit modification work customer’s use reverse engineering debugging modifications. must give prominent notice copy work Library used Library use covered License. must supply copy License. work execution displays copyright notices, must include copyright notice Library among , well reference directing user copy License. Also, must one things: ) Accompany work complete corresponding machine-readable source code Library including whatever changes used work (must distributed Sections 1 2 ); , work executable linked Library, complete machine-readable “work uses Library”, object code /source code, user can modify Library relink produce modified executable containing modified Library. (understood user changes contents definitions files Library necessarily able recompile application use modified definitions.) b) Use suitable shared library mechanism linking Library. suitable mechanism one (1) uses run time copy library already present user’s computer system, rather copying library functions executable, (2) operate properly modified version library, user installs one, long modified version interface-compatible version work made . c) Accompany work written offer, valid least three years, give user materials specified Subsection 6a, , charge cost performing distribution. d) distribution work made offering access copy designated place, offer equivalent access copy specified materials place. e) Verify user already received copy materials already sent user copy. executable, required form “work uses Library” must include data utility programs needed reproducing executable . However, special exception, materials distributed need include anything normally distributed (either source binary form) major components (compiler, kernel, ) operating system executable runs, unless component accompanies executable. may happen requirement contradicts license restrictions proprietary libraries normally accompany operating system. contradiction means use Library together executable distribute. 7. may place library facilities work based Library side--side single library together library facilities covered License, distribute combined library, provided separate distribution work based Library library facilities otherwise permitted, provided two things: ) Accompany combined library copy work based Library, uncombined library facilities. must distributed terms Sections . b) Give prominent notice combined library fact part work based Library, explaining find accompanying uncombined form work. 8. may copy, modify, sublicense, link , distribute Library except expressly provided License. attempt otherwise copy, modify, sublicense, link , distribute Library void, automatically terminate rights License. However, parties received copies, rights, License licenses terminated long parties remain full compliance. 9. required accept License, since signed . However, nothing else grants permission modify distribute Library derivative works. actions prohibited law accept License. Therefore, modifying distributing Library (work based Library), indicate acceptance License , terms conditions copying, distributing modifying Library works based . 10. time redistribute Library (work based Library), recipient automatically receives license original licensor copy, distribute, link modify Library subject terms conditions. may impose restrictions recipients’ exercise rights granted herein. responsible enforcing compliance third parties License. 11. , consequence court judgment allegation patent infringement reason (limited patent issues), conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. distribute satisfy simultaneously obligations License pertinent obligations, consequence may distribute Library . example, patent license permit royalty-free redistribution Library receive copies directly indirectly , way satisfy License refrain entirely distribution Library. portion section held invalid unenforceable particular circumstance, balance section intended apply, section whole intended apply circumstances. purpose section induce infringe patents property right claims contest validity claims; section sole purpose protecting integrity free software distribution system implemented public license practices. Many people made generous contributions wide range software distributed system reliance consistent application system; author/donor decide willing distribute software system licensee impose choice. section intended make thoroughly clear believed consequence rest License. 12. distribution /use Library restricted certain countries either patents copyrighted interfaces, original copyright holder places Library License may add explicit geographical distribution limitation excluding countries, distribution permitted among countries thus excluded. case, License incorporates limitation written body License. 13. Free Software Foundation may publish revised /new versions Lesser General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Library specifies version number License applies “later version”, option following terms conditions either version later version published Free Software Foundation. Library specify license version number, may choose version ever published Free Software Foundation. 14. wish incorporate parts Library free programs whose distribution conditions incompatible , write author ask permission. software copyrighted Free Software Foundation, write Free Software Foundation; sometimes make exceptions . decision guided two goals preserving free status derivatives free software promoting sharing reuse software generally. WARRANTY 15. LIBRARY LICENSED FREE CHARGE, WARRANTY LIBRARY, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE LIBRARY “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE LIBRARY . LIBRARY PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION. 16. EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MAY MODIFY /REDISTRIBUTE LIBRARY PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE LIBRARY (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE LIBRARY OPERATE SOFTWARE), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-libraries","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Libraries","title":"NA","text":"develop new library, want greatest possible use public, recommend making free software everyone can redistribute change. can permitting redistribution terms (, alternatively, terms ordinary General Public License). apply terms, attach following notices library. safest attach start source file effectively convey exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. also get employer (work programmer) school, , sign “copyright disclaimer” library, necessary. sample; alter names: ’s !","code":"one line to give the library's name and an idea of what it does. Copyright (C) year name of author This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. signature of Ty Coon, 1 April 1990 Ty Coon, President of Vice"},{"path":"https://mlr3misc.mlr-org.com/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Michel Lang. Maintainer, author. Patrick Schratz. Author.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Lang M, Schratz P (2024). mlr3misc: Helper Functions 'mlr3'. R package version 0.15.1.9000, https://github.com/mlr-org/mlr3misc, https://mlr3misc.mlr-org.com.","code":"@Manual{, title = {mlr3misc: Helper Functions for 'mlr3'}, author = {Michel Lang and Patrick Schratz}, year = {2024}, note = {R package version 0.15.1.9000, https://github.com/mlr-org/mlr3misc}, url = {https://mlr3misc.mlr-org.com}, }"},{"path":"https://mlr3misc.mlr-org.com/dev/index.html","id":"mlr3misc","dir":"","previous_headings":"","what":"Helper Functions for mlr3","title":"Helper Functions for mlr3","text":"Package website: release | dev Miscellaneous helper functions mlr3.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Callback — Callback","title":"Callback — Callback","text":"Callbacks allow customize behavior processes mlr3 packages. following packages implement callbacks: CallbackOptimization bbotk. CallbackTuning mlr3tuning. CallbackTorch mlr3torch","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Callback — Callback","text":"Callback abstract base class. subclass inherits Callback adds stages public members. Names stages start \"on_\". subclass function implemented create callback. example implement function see callback_optimization() bbotk. Callbacks executed stages using function call_back(). Context defines information can accessed callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Callback — Callback","text":"id (character(1)) Identifier callback. label (character(1)) Label object. Can used tables, plot text output instead ID. man (character(1)) String format [pkg]::[topic] pointing manual page object. Defaults NA, can set child classes. state (named list()) callback can write data state.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Callback — Callback","text":"Callback$new() Callback$format() Callback$print() Callback$help() Callback$call() Callback$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Callback — Callback","text":"Creates new instance R6 class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$new(id, label = NA_character_, man = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"id (character(1)) Identifier new instance. label (character(1)) Label new instance. man (character(1)) String format [pkg]::[topic] pointing manual page object. referenced help package can opened via method $help().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Callback — Callback","text":"Helper print outputs.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Callback — Callback","text":"Printer.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$print(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-help-","dir":"Reference","previous_headings":"","what":"Method help()","title":"Callback — Callback","text":"Opens corresponding help page referenced field $man.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$help()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-call-","dir":"Reference","previous_headings":"","what":"Method call()","title":"Callback — Callback","text":"Call specific stage given context.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$call(stage, context)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"stage (character(1)) stage. context (Context) Context.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Callback — Callback","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Callback — Callback","text":"","code":"Callback$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Callback — Callback","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Callback.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Callback — Callback","text":"","code":"library(R6) # implement callback subclass CallbackExample = R6Class(\"CallbackExample\", inherit = mlr3misc::Callback, public = list( on_stage_a = NULL, on_stage_b = NULL, on_stage_c = NULL ) )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":null,"dir":"Reference","previous_headings":"","what":"Context — Context","title":"Context — Context","text":"Context objects allow Callback objects access modify data. following packages implement context subclasses: ContextOptimization bbotk. ContextEval mlr3tuning. ContextTorch mlr3torch","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Context — Context","text":"Context abstract base class. subclass inherits Context. Data stored public fields. Access data can restricted active bindings (see example).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Context — Context","text":"id (character(1)) Identifier object. Used tables, plot text output. label (character(1)) Label object. Can used tables, plot text output instead ID.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Context — Context","text":"Context$new() Context$format() Context$print() Context$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Context — Context","text":"Creates new instance R6 class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$new(id, label = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"id (character(1)) Identifier new instance. label (character(1)) Label new instance.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Context — Context","text":"Format object simple string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Context — Context","text":"Print object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$print()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Context — Context","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Context — Context","text":"","code":"Context$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Context — Context","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Context.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Context — Context","text":"","code":"library(data.table) library(R6) # data table with column x an y data = data.table(x = runif(10), y = sample(c(\"A\", \"B\"), 10, replace = TRUE)) # context only allows to access column y ContextExample = R6Class(\"ContextExample\", inherit = Context, public = list( data = NULL, initialize = function(data) { self$data = data } ), active = list( y = function(rhs) { if (missing(rhs)) return(self$data$y) self$data$y = rhs } ) ) context = ContextExample$new(data) # retrieve content of column y context$y #> [1] \"B\" \"A\" \"A\" \"A\" \"A\" \"B\" \"A\" \"A\" \"B\" \"B\" # change content of column y to \"C\" context$y = \"C\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":null,"dir":"Reference","previous_headings":"","what":"Key-Value Storage — Dictionary","title":"Key-Value Storage — Dictionary","text":"key-value store R6::R6 objects. retrieval object, following applies: object R6ClassGenerator, initialized new(). object function, called must return instance R6::R6 object. object instance R6 class, returned -. Default argument required construction can stored alongside constructors passing $add().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"s-methods","dir":"Reference","previous_headings":"","what":"S3 methods","title":"Key-Value Storage — Dictionary","text":".data.table(d) Dictionary -> data.table::data.table() Converts dictionary data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"public-fields","dir":"Reference","previous_headings":"","what":"Public fields","title":"Key-Value Storage — Dictionary","text":"items (environment()) Stores items dictionary","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Key-Value Storage — Dictionary","text":"Dictionary$new() Dictionary$format() Dictionary$print() Dictionary$keys() Dictionary$() Dictionary$get() Dictionary$mget() Dictionary$add() Dictionary$remove() Dictionary$prototype_args() Dictionary$clone()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Key-Value Storage — Dictionary","text":"Construct new Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$new()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-format-","dir":"Reference","previous_headings":"","what":"Method format()","title":"Key-Value Storage — Dictionary","text":"Format object simple string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$format(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"... (ignored).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Key-Value Storage — Dictionary","text":"Print object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$print()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-keys-","dir":"Reference","previous_headings":"","what":"Method keys()","title":"Key-Value Storage — Dictionary","text":"Returns keys comply regular expression pattern. pattern NULL (default), keys returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$keys(pattern = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"pattern (character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"character() keys.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-has-","dir":"Reference","previous_headings":"","what":"Method has()","title":"Key-Value Storage — Dictionary","text":"Returns logical vector TRUE -th position -th key exists.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$has(keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"logical().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Key-Value Storage — Dictionary","text":"Retrieves object key key dictionary. Additional arguments must named passed constructor stored object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$get(key, ..., .prototype = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)). ... () Passed constructor. .prototype (logical(1)) Whether construct prototype object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Object corresponding key.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-mget-","dir":"Reference","previous_headings":"","what":"Method mget()","title":"Key-Value Storage — Dictionary","text":"Returns objects keys keys list named keys. Additional arguments must named passed constructors stored objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$mget(keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()). ... () Passed constructor.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Named list() objects corresponding keys.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-add-","dir":"Reference","previous_headings":"","what":"Method add()","title":"Key-Value Storage — Dictionary","text":"Adds object value dictionary key key, potentially overwriting previously stored item. Additional arguments ... must named passed default arguments value construction.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$add(key, value, ..., .prototype_args = list())"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)). value (). ... () Passed constructor. .prototype_args (list()) List arguments construct prototype object. Can used objects construction arguments without defaults.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-remove-","dir":"Reference","previous_headings":"","what":"Method remove()","title":"Key-Value Storage — Dictionary","text":"Removes objects dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$remove(keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"keys (character()) Keys objects remove.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"Dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-prototype-args-","dir":"Reference","previous_headings":"","what":"Method prototype_args()","title":"Key-Value Storage — Dictionary","text":"Returns arguments required construct simple prototype object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$prototype_args(key)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"key (character(1)) Key object query required arguments.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Key-Value Storage — Dictionary","text":"list() prototype arguments","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"method-clone-","dir":"Reference","previous_headings":"","what":"Method clone()","title":"Key-Value Storage — Dictionary","text":"objects class cloneable method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Key-Value Storage — Dictionary","text":"","code":"Dictionary$clone(deep = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Key-Value Storage — Dictionary","text":"deep Whether make deep clone.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/Dictionary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Key-Value Storage — Dictionary","text":"","code":"library(R6) item1 = R6Class(\"Item\", public = list(x = 1)) item2 = R6Class(\"Item\", public = list(x = 2)) d = Dictionary$new() d$add(\"a\", item1) d$add(\"b\", item2) d$add(\"c\", item1$new()) d$keys() #> [1] \"a\" \"b\" \"c\" d$get(\"a\") #> #> Public: #> clone: function (deep = FALSE) #> x: 1 d$mget(c(\"a\", \"b\")) #> $a #> #> Public: #> clone: function (deep = FALSE) #> x: 1 #> #> $b #> #> Public: #> clone: function (deep = FALSE) #> x: 2 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert to a Callback — as_callback","title":"Convert to a Callback — as_callback","text":"Convert object Callback list Callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert to a Callback — as_callback","text":"","code":"as_callback(x, ...) # S3 method for class 'Callback' as_callback(x, clone = FALSE, ...) as_callbacks(x, clone = FALSE, ...) # S3 method for class '`NULL`' as_callbacks(x, ...) # S3 method for class 'list' as_callbacks(x, clone = FALSE, ...) # S3 method for class 'Callback' as_callbacks(x, clone = FALSE, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert to a Callback — as_callback","text":"x () Object convert. ... () Additional arguments. clone (logical(1)) TRUE, ensures returned object input x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert to a Callback — as_callback","text":"Callback.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert to Factor — as_factor","title":"Convert to Factor — as_factor","text":"Converts vector factor() ensures levels order provided levels.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert to Factor — as_factor","text":"","code":"as_factor(x, levels, ordered = is.ordered(x))"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert to Factor — as_factor","text":"x (atomic vector()) Vector convert factor. levels (character()) Levels new factor. ordered (logical(1)) TRUE, create ordered factor.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert to Factor — as_factor","text":"(factor()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_factor.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert to Factor — as_factor","text":"","code":"x = factor(c(\"a\", \"b\")) y = factor(c(\"a\", \"b\"), levels = c(\"b\", \"a\")) # x with the level order of y as_factor(x, levels(y)) #> [1] a b #> Levels: b a # y with the level order of x as_factor(y, levels(x)) #> [1] a b #> Levels: a b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert R Object to a Descriptive String — as_short_string","title":"Convert R Object to a Descriptive String — as_short_string","text":"function intended convert R object short descriptive string, e.g. base::print() functions. following rules apply: x atomic() length 0 1: printed -. x atomic() length greater 1, x collapsed \",\", resulting string truncated trunc_width characters. x expression: converted character. Otherwise: class printed. x list, rules applied (non-recursively) elements.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert R Object to a Descriptive String — as_short_string","text":"","code":"as_short_string(x, width = 30L, num_format = \"%.4g\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert R Object to a Descriptive String — as_short_string","text":"x () Arbitrary object. width (integer(1)) Truncate strings width width. num_format (character(1)) Used format numerical scalars via base::sprintf().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert R Object to a Descriptive String — as_short_string","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/as_short_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert R Object to a Descriptive String — as_short_string","text":"","code":"as_short_string(list(a = 1, b = NULL, \"foo\", c = 1:10)) #> [1] \"a=1, b=, =foo, c=1,2,3,4,5,6,7,8,9,10\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Assertions for Callbacks — assert_callback","title":"Assertions for Callbacks — assert_callback","text":"Assertions Callback class.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assertions for Callbacks — assert_callback","text":"","code":"assert_callback(callback, null_ok = FALSE) assert_callbacks(callbacks)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assertions for Callbacks — assert_callback","text":"callback (Callback). null_ok (logical(1)) TRUE, NULL allowed. callbacks (list Callback).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assertions for Callbacks — assert_callback","text":"Callback | List Callbacks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":null,"dir":"Reference","previous_headings":"","what":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"assertion intended called active bindings R6::R6Class allow assignment. rhs missing, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"","code":"assert_ro_binding(rhs)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"rhs () missing, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/assert_ro_binding.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assertion for Active Bindings in R6 Classes — assert_ro_binding","text":"Nothing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":null,"dir":"Reference","previous_headings":"","what":"Calculate a Hash for Multiple Objects — calculate_hash","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"Calls digest::digest() using 'xxhash64' algorithm applying hash_input object. customize hashing behaviour, can overwrite hash_input specific classes. data.table objects, hash_input applied columns, can overwrite hash_input columns specific class. Objects specific method hashed .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"","code":"calculate_hash(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"... () Objects hash.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/calculate_hash.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Calculate a Hash for Multiple Objects — calculate_hash","text":"","code":"calculate_hash(iris, 1, \"a\") #> [1] \"9dec48c68dae0533\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/call_back.html","id":null,"dir":"Reference","previous_headings":"","what":"Call Callbacks — call_back","title":"Call Callbacks — call_back","text":"Call list callbacks context specific stage.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/call_back.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Call Callbacks — call_back","text":"","code":"call_back(stage, callbacks, context)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":null,"dir":"Reference","previous_headings":"","what":"Capitalize the First Letter of Strings — capitalize","title":"Capitalize the First Letter of Strings — capitalize","text":"Takes character vector changes first letter element uppercase.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Capitalize the First Letter of Strings — capitalize","text":"","code":"capitalize(str)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Capitalize the First Letter of Strings — capitalize","text":"str (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Capitalize the First Letter of Strings — capitalize","text":"Character vector, length str.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/capitalize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Capitalize the First Letter of Strings — capitalize","text":"","code":"capitalize(\"foo bar\") #> [1] \"Foo bar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":null,"dir":"Reference","previous_headings":"","what":"Function for Formatted Output — catn","title":"Function for Formatted Output — catn","text":"Wrapper around base::cat() line break. Elements converted character concatenate base::paste0(). vector passed, elements collapsed line breaks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function for Formatted Output — catn","text":"","code":"catn(..., file = \"\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function for Formatted Output — catn","text":"... () Arguments passed base::paste0(). file (character(1)) Passed base::cat().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/catn.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function for Formatted Output — catn","text":"","code":"catn(c(\"Line 1\", \"Line 2\")) #> Line 1 #> Line 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":null,"dir":"Reference","previous_headings":"","what":"Check that packages are installed, without loading them — check_packages_installed","title":"Check that packages are installed, without loading them — check_packages_installed","text":"Calls find.package() check packages installed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check that packages are installed, without loading them — check_packages_installed","text":"","code":"check_packages_installed( pkgs, warn = TRUE, msg = \"The following packages are required but not installed: %s\" )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check that packages are installed, without loading them — check_packages_installed","text":"pkgs (character()) Packages check. warn (logical(1)) TRUE, signals warning class \"packageNotFoundWarning\" missing packages. msg (character(1)) Format warning message. Use \"%s\" placeholder list packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check that packages are installed, without loading them — check_packages_installed","text":"(logical()) named package names. TRUE respective package installed, FALSE otherwise.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/check_packages_installed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check that packages are installed, without loading them — check_packages_installed","text":"","code":"check_packages_installed(c(\"mlr3misc\", \"foobar\"), warn = FALSE) #> mlr3misc foobar #> TRUE FALSE # catch warning tryCatch(check_packages_installed(c(\"mlr3misc\", \"foobaaar\")), packageNotFoundWarning = function(w) as.character(w)) #> [1] \"packageNotFoundWarning: The following packages are required but not installed: foobaaar\\n\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Chunk Vectors — chunk_vector","title":"Chunk Vectors — chunk_vector","text":"Chunk atomic vectors parts roughly equal size. chunk() takes vector length n returns integer chunk numbers. chunk_vector() uses base::split() chunk() split atomic vector chunks.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Chunk Vectors — chunk_vector","text":"","code":"chunk_vector(x, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE) chunk(n, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Chunk Vectors — chunk_vector","text":"x (vector()) Vector split chunks. n_chunks (integer(1)) Requested number chunks. Mutually exclusive chunk_size props. chunk_size (integer(1)) Requested number elements chunk. Mutually exclusive n_chunks props. shuffle (logical(1)) TRUE, permutes order x chunking. n (integer(1)) Length vector split.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Chunk Vectors — chunk_vector","text":"chunk() returns integer() chunk indices, chunk_vector() list() integer vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/chunk_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Chunk Vectors — chunk_vector","text":"","code":"x = 1:11 ch = chunk(length(x), n_chunks = 2) table(ch) #> ch #> 1 2 #> 6 5 split(x, ch) #> $`1` #> [1] 1 2 5 8 10 11 #> #> $`2` #> [1] 3 4 6 7 9 #> chunk_vector(x, n_chunks = 2) #> [[1]] #> [1] 2 3 4 5 10 11 #> #> [[2]] #> [1] 1 6 7 8 9 #> chunk_vector(x, n_chunks = 3, shuffle = TRUE) #> [[1]] #> [1] 1 4 5 10 #> #> [[2]] #> [1] 2 7 9 11 #> #> [[3]] #> [1] 3 6 8 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":null,"dir":"Reference","previous_headings":"","what":"Syntactic Sugar for Callback Construction — clbk","title":"Syntactic Sugar for Callback Construction — clbk","text":"Functions retrieve callbacks mlr_callbacks set parameters one go.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Syntactic Sugar for Callback Construction — clbk","text":"","code":"clbk(.key, ...) clbks(.keys)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/clbk.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Syntactic Sugar for Callback Construction — clbk","text":".key (character(1)) Key object construct. ... (named list()) Named arguments passed state callback. .keys (character()) Keys objects construct.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":null,"dir":"Reference","previous_headings":"","what":"Apply Functions in the spirit of 'purrr' — compat-map","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":"map-like functions, similar ones implemented purrr: map() returns results .f applied .x list. .f function, map call [[ elements .x using value .f index. imap() applies .f value .x (passed first argument) name (passed second argument). .x names, sequence along .x passed second argument instead. pmap() expects .x list vectors equal length, applies .f first element vector .x, second element .x, . map_if() applies .f element .x predicate .p evaluates TRUE. map_at() applies .f element .x referenced .. elements remain unchanged. keep() keeps elements .x predicate .p evaluates TRUE. discard() discards elements .x predicate .p evaluates TRUE. every() TRUE predicate .p evaluates TRUE .x. () TRUE predicate .p evaluates TRUE least one .x. detect() returns first element predicate .p evaluates TRUE. walk(), iwalk() pwalk() counterparts map(), imap() pmap(), just visit (change reference) elements .x. return input .x invisibly. Additionally, functions map(), imap() pmap() type-safe variants following suffixes: *_lgl() returns logical(length(.x)). *_int() returns integer(length(.x)). *_dbl() returns double(length(.x)). *_chr() returns character(length(.x)). *_br() returns object results .f put together base::rbind(). *_bc() returns object results .f put together base::cbind(). *_dtr() returns data.table::data.table() results .f put together base::rbind() fashion. *_dtc() returns data.table::data.table() results .f put together base::cbind() fashion.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":"","code":"map(.x, .f, ...) map_lgl(.x, .f, ...) map_int(.x, .f, ...) map_dbl(.x, .f, ...) map_chr(.x, .f, ...) map_br(.x, .f, ...) map_bc(.x, .f, ...) map_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) map_dtc(.x, .f, ...) pmap(.x, .f, ...) pmap_lgl(.x, .f, ...) pmap_int(.x, .f, ...) pmap_dbl(.x, .f, ...) pmap_chr(.x, .f, ...) pmap_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) pmap_dtc(.x, .f, ...) imap(.x, .f, ...) imap_lgl(.x, .f, ...) imap_int(.x, .f, ...) imap_dbl(.x, .f, ...) imap_chr(.x, .f, ...) imap_dtr(.x, .f, ..., .fill = FALSE, .idcol = NULL) imap_dtc(.x, .f, ...) keep(.x, .f, ...) discard(.x, .p, ...) map_if(.x, .p, .f, ...) # Default S3 method map_if(.x, .p, .f, ...) map_at(.x, .at, .f, ...) every(.x, .p, ...) some(.x, .p, ...) detect(.x, .p, ...) walk(.x, .f, ...) iwalk(.x, .f, ...) pwalk(.x, .f, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compat-map.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apply Functions in the spirit of 'purrr' — compat-map","text":".x (list() | atomic vector()). .f (function() | character() | integer()) Function apply, element extract name (.f character()) position (.f integer()). ... () Additional arguments passed .f .p. .fill (logical(1)) Passed data.table::rbindlist(). .idcol (logical(1)) Passed data.table::rbindlist(). .p (function() | logical()) Predicate function. .(character() | integer() | logical()) Index vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":null,"dir":"Reference","previous_headings":"","what":"Composition of Functions — compose","title":"Composition of Functions — compose","text":"Composes two functions single function. returned function calls provided functions reverse order: return value last function servers input next last function, .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Composition of Functions — compose","text":"","code":"compose(...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Composition of Functions — compose","text":"... (functions) Functions compose.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Composition of Functions — compose","text":"(function()) calls functions provided via ... reverse order.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compose.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Composition of Functions — compose","text":"","code":"f = compose(function(x) x + 1, function(x) x / 2) f(10) #> [1] 6"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute The Mode — compute_mode","title":"Compute The Mode — compute_mode","text":"Computes mode (frequent value) atomic vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute The Mode — compute_mode","text":"","code":"compute_mode(x, ties_method = \"random\", na_rm = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute The Mode — compute_mode","text":"x (vector()). ties_method (character(1)) Handling ties. One \"first\", \"last\" \"random\" return first tied value, last tied value, randomly selected tied value, respectively. na_rm (logical(1)) TRUE, remove missing values prior computing mode.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute The Mode — compute_mode","text":"(vector(1)): mode value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/compute_mode.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute The Mode — compute_mode","text":"","code":"compute_mode(c(1, 1, 1, 2, 2, 2, 3)) #> [1] 1 compute_mode(c(1, 1, 1, 2, 2, 2, 3), ties_method = \"last\") #> [1] 2 compute_mode(c(1, 1, 1, 2, 2, 2, 3), ties_method = \"random\") #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":null,"dir":"Reference","previous_headings":"","what":"Count Missing Values in a Vector — count_missing","title":"Count Missing Values in a Vector — count_missing","text":"sum(.na(x)), without allocation.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Count Missing Values in a Vector — count_missing","text":"","code":"count_missing(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Count Missing Values in a Vector — count_missing","text":"x vector() Supported logical, integer, double, complex string vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Count Missing Values in a Vector — count_missing","text":"(integer(1)) number missing values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/count_missing.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Count Missing Values in a Vector — count_missing","text":"","code":"count_missing(c(1, 2, NA, 4, NA)) #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":null,"dir":"Reference","previous_headings":"","what":"Isolate a Function from its Environment — crate","title":"Isolate a Function from its Environment — crate","text":"Put function \"lean\" environment carry unnecessary baggage (e.g. references datasets).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Isolate a Function from its Environment — crate","text":"","code":"crate(.fn, ..., .parent = topenv(parent.frame()), .compile = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Isolate a Function from its Environment — crate","text":".fn (function()) function crate ... () objects, visible inside .fn. .parent (environment) Parent environment look names. Default topenv(). .compile (logical(1)) Whether jit-compile function. case function already compiled. input function .fn compiled, effect, output function always compiled.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/crate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Isolate a Function from its Environment — crate","text":"","code":"meta_f = function(z) { x = 1 y = 2 crate(function() { c(x, y, z) }, x) } x = 100 y = 200 z = 300 f = meta_f(1) f() #> Error in f(): object 'y' not found"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":null,"dir":"Reference","previous_headings":"","what":"Cross-Join for data.table — cross_join","title":"Cross-Join for data.table — cross_join","text":"safe version data.table::CJ() case column called sorted unique.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cross-Join for data.table — cross_join","text":"","code":"cross_join(dots, sorted = TRUE, unique = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cross-Join for data.table — cross_join","text":"dots (named list()) Vectors cross-join. sorted (logical(1)) See data.table::CJ(). unique (logical(1)) See data.table::CJ().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cross-Join for data.table — cross_join","text":"data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/cross_join.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cross-Join for data.table — cross_join","text":"","code":"cross_join(dots = list(sorted = 1:3, b = letters[1:2])) #> Key: #> sorted b #> #> 1: 1 a #> 2: 1 b #> 3: 2 a #> 4: 2 b #> 5: 3 a #> 6: 3 b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"Given Dictionary, retrieve objects provided keys. dictionary_sugar_get() retrieve single object key .key. dictionary_sugar_mget() retrieve list objects keys .keys. dictionary_sugar() deprecated favor dictionary_sugar_get(). .key .keys missing, dictionary returned. Arguments ... must named consumed following order: arguments whose names match name argument constructor passed $get() method Dictionary construction. arguments whose names match name parameter paradox::ParamSet constructed object set parameters. paradox::ParamSet obj$param_set, step skipped. remaining arguments assumed regular fields constructed R6 instance, assigned via <-.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"","code":"dictionary_sugar_get(dict, .key, ...) dictionary_sugar(dict, .key, ...) dictionary_sugar_mget(dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"dict (Dictionary). .key (character(1)) Key object construct. ... () See description. .keys (character()) Keys objects construct.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"R6::R6Class()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get","text":"","code":"library(R6) item = R6Class(\"Item\", public = list(x = 0)) d = Dictionary$new() d$add(\"key\", item) dictionary_sugar_get(d, \"key\", x = 2) #> #> Public: #> clone: function (deep = FALSE) #> x: 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"Given Dictionary, retrieve objects provided keys. dictionary_sugar_get_safe() retrieve single object key .key. dictionary_sugar_mget_safe() retrieve list objects keys .keys. .key .keys missing, dictionary returned. Dictionary getters without _safe suffix discouraged sometimes caused unintended partial argument matching. Arguments ... must named consumed following order: arguments whose names match name argument constructor passed $get() method Dictionary construction. arguments whose names match name parameter paradox::ParamSet constructed object set parameters. paradox::ParamSet obj$param_set, step skipped. remaining arguments assumed regular fields constructed R6 instance, assigned via <-.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"","code":"dictionary_sugar_get_safe(.dict, .key, ...) dictionary_sugar_mget_safe(.dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":".dict (Dictionary) dictionary retrieve elements. .key (character(1)) Key object construct. ... () See description. .keys (character()) Keys objects construct.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"R6::R6Class()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_get_safe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries — dictionary_sugar_get_safe","text":"","code":"library(R6) item = R6Class(\"Item\", public = list(x = 0)) d = Dictionary$new() d$add(\"key\", item) dictionary_sugar_get_safe(d, \"key\", x = 2) #> #> Public: #> clone: function (deep = FALSE) #> x: 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"Covenience wrapper around dictionary_sugar_get dictionary_sugar_mget allow easier avoidance ID clashes useful object used multiple times ids unique. Let key object retrieve. passing _ function, natural numer, object key retrieved suffix _ appended id object constructed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"","code":"dictionary_sugar_inc_get(dict, .key, ...) dictionary_sugar_inc_mget(dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"dict (Dictionary) Dictionary retrieve element. .key (character(1)) Key object construct - possibly suffix form _ appended id. ... () See description dictionary_sugar. .keys (character()) Keys objects construct - possibly suffixes form _ appended ids.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"element dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get","text":"","code":"d = Dictionary$new() d$add(\"a\", R6::R6Class(\"A\", public = list(id = \"a\"))) d$add(\"b\", R6::R6Class(\"B\", public = list(id = \"c\"))) obj1 = dictionary_sugar_inc_get(d, \"a_1\") obj1$id #> [1] \"a_1\" obj2 = dictionary_sugar_inc_get(d, \"b_1\") obj2$id #> [1] \"c_1\" objs = dictionary_sugar_inc_mget(d, c(\"a_10\", \"b_2\")) map(objs, \"id\") #> $a_10 #> [1] \"a_10\" #> #> $c_2 #> [1] \"c_2\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":null,"dir":"Reference","previous_headings":"","what":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"Covenience wrapper around dictionary_sugar_get_safe dictionary_sugar_mget_safe allow easier avoidance ID clashes useful object used multiple times ids unique. Let key object retrieve. passing _ function, natural numer, object key retrieved suffix _ appended id object constructed.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"","code":"dictionary_sugar_inc_get_safe(.dict, .key, ...) dictionary_sugar_inc_mget_safe(.dict, .keys, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":".dict (Dictionary) Dictionary retrieve element. .key (character(1)) Key object construct - possibly suffix form _ appended id. ... () See description dictionary_sugar_get_safe. .keys (character()) Keys objects construct - possibly suffixes form _ appended ids.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"element dictionary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/dictionary_sugar_inc_get_safe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Quick Way to Initialize Objects from Dictionaries with Incremented ID — dictionary_sugar_inc_get_safe","text":"","code":"d = Dictionary$new() d$add(\"a\", R6::R6Class(\"A\", public = list(id = \"a\"))) d$add(\"b\", R6::R6Class(\"B\", public = list(id = \"c\"))) obj1 = dictionary_sugar_inc_get_safe(d, \"a_1\") obj1$id #> [1] \"a_1\" obj2 = dictionary_sugar_inc_get_safe(d, \"b_1\") obj2$id #> [1] \"c_1\" objs = dictionary_sugar_inc_mget_safe(d, c(\"a_10\", \"b_2\")) map(objs, \"id\") #> $a_10 #> [1] \"a_10\" #> #> $c_2 #> [1] \"c_2\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":null,"dir":"Reference","previous_headings":"","what":"Suggest Alternatives — did_you_mean","title":"Suggest Alternatives — did_you_mean","text":"Helps suggest alternatives list strings, based string similarity utils::adist().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Suggest Alternatives — did_you_mean","text":"","code":"did_you_mean(str, candidates)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Suggest Alternatives — did_you_mean","text":"str (character(1)) String. candidates (character()) Candidate strings.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Suggest Alternatives — did_you_mean","text":"(character(1)). Either phrase suggesting one candidates candidates, empty string close match found.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/did_you_mean.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Suggest Alternatives — did_you_mean","text":"","code":"did_you_mean(\"yep\", c(\"yes\", \"no\")) #> [1] \" Did you mean 'yes'?\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Distinct Values — distinct_values","title":"Get Distinct Values — distinct_values","text":"Extracts distinct values atomic vector, possibility drop levels remove missing values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Distinct Values — distinct_values","text":"","code":"distinct_values(x, drop = TRUE, na_rm = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Distinct Values — distinct_values","text":"x (atomic vector()). drop :: logical(1) TRUE, returns values present x. FALSE, returns levels factor() ordered(), well TRUE FALSE logical()s. na_rm :: logical(1) TRUE, missing values removed vector distinct values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Distinct Values — distinct_values","text":"(atomic vector()) distinct values particular order.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/distinct_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get Distinct Values — distinct_values","text":"","code":"# for factors: x = factor(c(letters[1:2], NA), levels = letters[1:3]) distinct_values(x) #> [1] \"a\" \"b\" distinct_values(x, na_rm = FALSE) #> [1] \"a\" \"b\" NA distinct_values(x, drop = FALSE) #> [1] \"a\" \"b\" \"c\" distinct_values(x, drop = FALSE, na_rm = FALSE) #> [1] \"a\" \"b\" \"c\" NA # for logicals: distinct_values(TRUE, drop = FALSE) #> [1] TRUE FALSE # for numerics: distinct_values(sample(1:3, 10, replace = TRUE)) #> [1] 1 3 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":null,"dir":"Reference","previous_headings":"","what":"Encapsulate Function Calls for Logging — encapsulate","title":"Encapsulate Function Calls for Logging — encapsulate","text":"Evaluates function recording output log measuring elapsed time. currently three different modes implemented encapsulate function call: \"none\": Just runs call current session measures elapsed time. keep log, output printed directly console. Works well together traceback(). \"try\": Similar \"none\", catches error. Output printed console logged. \"evaluate\": Uses package evaluate call function, measure time logging. \"callr\": Uses package callr call function, measure time logging. encapsulation spawns separate R session function called. comes considerable overhead, also guards session teared segfaults.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Encapsulate Function Calls for Logging — encapsulate","text":"","code":"encapsulate( method, .f, .args = list(), .opts = list(), .pkgs = character(), .seed = NA_integer_, .timeout = Inf )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Encapsulate Function Calls for Logging — encapsulate","text":"method (character(1)) One \"none\", \"evaluate\" \"callr\". .f (function()) Function call. .args (list()) Arguments passed .f. .opts (named list()) Options set function call. Options get reset exit. .pkgs (character()) Packages load (attach). .seed (integer(1)) Random seed set invoking function call. Gets reset previous seed exit. .timeout (numeric(1)) Timeout seconds. Uses setTimeLimit() \"none\" \"evaluate\" encapsulation. \"callr\" encapsulation, timeout passed callr::r().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Encapsulate Function Calls for Logging — encapsulate","text":"(named list()) three fields: \"result\": return value .f \"elapsed\": elapsed time seconds. Measured proc.time() difference /function call. \"log\": data.table() columns \"class\" (ordered factor levels \"output\", \"warning\" \"error\") \"message\" (character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/encapsulate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Encapsulate Function Calls for Logging — encapsulate","text":"","code":"f = function(n) { message(\"hi from f\") if (n > 5) { stop(\"n must be <= 5\") } runif(n) } encapsulate(\"none\", f, list(n = 1), .seed = 1) #> hi from f #> $result #> [1] 0.2655087 #> #> $log #> Empty data.table (0 rows and 2 cols): class,msg #> #> $elapsed #> [1] 0 #> if (requireNamespace(\"evaluate\", quietly = TRUE)) { encapsulate(\"evaluate\", f, list(n = 1), .seed = 1) } #> $result #> [1] 0.527917 #> #> $log #> class msg #> #> 1: output hi from f #> #> $elapsed #> [1] 0.002 #> if (requireNamespace(\"callr\", quietly = TRUE)) { encapsulate(\"callr\", f, list(n = 1), .seed = 1) } #> $result #> [1] 0.6006375 #> #> $log #> class msg #> #> 1: output hi from f #> #> $elapsed #> elapsed #> 0.594 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert a Named Vector into a data.table and Vice Versa — enframe","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"enframe() returns data.table::data.table() two columns: names x (seq_along(x) unnamed) values x. deframe() converts two-column data.frame named vector. data.frame single column, unnamed vector returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"","code":"enframe(x, name = \"name\", value = \"value\") deframe(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"x (vector() (enframe()) data.frame() (deframe())) Vector convert data.table::data.table(). name (character(1)) Name first column names. value (character(1)) Name second column values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"data.table::data.table() named vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/enframe.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert a Named Vector into a data.table and Vice Versa — enframe","text":"","code":"x = 1:3 enframe(x) #> name value #> #> 1: 1 1 #> 2: 2 2 #> 3: 3 3 x = set_names(1:3, letters[1:3]) enframe(x, value = \"x_values\") #> name x_values #> #> 1: a 1 #> 2: b 2 #> 3: c 3"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Variables from a Formula — extract_vars","title":"Extract Variables from a Formula — extract_vars","text":"Given formula() f, returns variables used left-hand side right-hand side formula.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Variables from a Formula — extract_vars","text":"","code":"extract_vars(f)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Variables from a Formula — extract_vars","text":"f (formula()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Variables from a Formula — extract_vars","text":"(list()) elements \"lhs\" \"rhs\", character().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/extract_vars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract Variables from a Formula — extract_vars","text":"","code":"extract_vars(Species ~ Sepal.Width + Sepal.Length) #> $lhs #> [1] \"Species\" #> #> $rhs #> [1] \"Sepal.Width\" \"Sepal.Length\" #> extract_vars(Species ~ .) #> $lhs #> [1] \"Species\" #> #> $rhs #> [1] \".\" #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":null,"dir":"Reference","previous_headings":"","what":"Format Bibentries in Roxygen — format_bib","title":"Format Bibentries in Roxygen — format_bib","text":"Operates named list bibentry() entries formats nicely documentation roxygen2. format_bib() intended called @references section prints complete entry using toRd(). cite_bib() returns family name first author (available, falling back complete author name applicable) year format \"[LastName] (YYYY)\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Format Bibentries in Roxygen — format_bib","text":"","code":"format_bib(..., bibentries = NULL, envir = parent.frame()) cite_bib(..., bibentries = NULL, envir = parent.frame())"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Format Bibentries in Roxygen — format_bib","text":"... (character()) One names bibentries. bibentries (named list()) Named list bibentries. envir (environment) Environment lookup bibentries provided.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Format Bibentries in Roxygen — format_bib","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/format_bib.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Format Bibentries in Roxygen — format_bib","text":"","code":"bibentries = list(checkmate = citation(\"checkmate\"), R = citation()) format_bib(\"checkmate\") #> [1] \"Lang M (2017).\\n\\\\dQuote{checkmate: Fast Argument Checks for Defensive R Programming.}\\n\\\\emph{The R Journal}, \\\\bold{9}(1), 437--445.\\n\\\\doi{10.32614/RJ-2017-028}.\" format_bib(\"R\") #> [1] \"R Core Team (2024).\\n\\\\emph{R: A Language and Environment for Statistical Computing}.\\nR Foundation for Statistical Computing, Vienna, Austria.\\n\\\\url{https://www.R-project.org/}.\" cite_bib(\"checkmate\") #> [1] \"Lang (2017)\" cite_bib(\"checkmate\", \"R\") #> [1] \"Lang (2017) and R Core Team (2024)\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":null,"dir":"Reference","previous_headings":"","what":"Create Formulas — formulate","title":"Create Formulas — formulate","text":"Given left-hand side right-hand side character vectors, generates new stats::formula().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create Formulas — formulate","text":"","code":"formulate(lhs = character(), rhs = character(), env = NULL, quote = \"right\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create Formulas — formulate","text":"lhs (character()) Left-hand side formula. Multiple elements collapsed \" + \". rhs (character()) Right-hand side formula. Multiple elements collapsed \" + \". env (environment()) Environment new formula. Defaults NULL. quote (character(1)) side formula quote? Subset (\"left\", \"right\"), defaulting \"right\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create Formulas — formulate","text":"stats::formula().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/formulate.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create Formulas — formulate","text":"","code":"formulate(\"Species\", c(\"Sepal.Length\", \"Sepal.Width\")) #> Species ~ Sepal.Length + Sepal.Width #> NULL formulate(rhs = c(\"Sepal.Length\", \"Sepal.Width\")) #> ~Sepal.Length + Sepal.Width #> NULL"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":null,"dir":"Reference","previous_headings":"","what":"Assign Value to Private Field — get_private<-","title":"Assign Value to Private Field — get_private<-","text":"Convenience function assign value private field R6::R6Class instance.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assign Value to Private Field — get_private<-","text":"","code":"get_private(x, which) <- value"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assign Value to Private Field — get_private<-","text":"x () Object whose private field modified. (character(1)) Private field modified. value () Value assign private field.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assign Value to Private Field — get_private<-","text":"R6 instance x, modified -place. R6 instance, NULL returned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private-set.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Assign Value to Private Field — get_private<-","text":"","code":"library(R6) item = R6Class(\"Item\", private = list(x = 1))$new() get_private(item)$x #> [1] 1 get_private(item, \"x\") = 2L get_private(item)$x #> [1] 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract Private Fields of R6 Objects — get_private","title":"Extract Private Fields of R6 Objects — get_private","text":"Provides access private members R6::R6Class objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract Private Fields of R6 Objects — get_private","text":"","code":"get_private(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract Private Fields of R6 Objects — get_private","text":"x () Object extract private members .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract Private Fields of R6 Objects — get_private","text":"environment() private members, NULL x R6 object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_private.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract Private Fields of R6 Objects — get_private","text":"","code":"library(R6) item = R6Class(\"Item\", private = list(x = 1))$new() get_private(item)$x #> [1] 1"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the Random Seed — get_seed","title":"Get the Random Seed — get_seed","text":"Retrieves current random seed (.Random.seed global environment), initializes RNG first, necessary.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the Random Seed — get_seed","text":"","code":"get_seed()"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the Random Seed — get_seed","text":"integer(). Depends base::RNGkind().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/get_seed.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the Random Seed — get_seed","text":"","code":"str(get_seed()) #> int [1:626] 10403 82 -2089519707 -1093835428 -1319683790 1392429101 -202324249 631843854 -539511320 1353072619 ..."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if an Object is Element of a List — has_element","title":"Check if an Object is Element of a List — has_element","text":"Simply checks list contains given object. NB1: Objects compared identity. NB2: use lists complex objects, simpler structures faster operations. NB3: Clones R6 objects detected.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if an Object is Element of a List — has_element","text":"","code":"has_element(.x, .y)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check if an Object is Element of a List — has_element","text":".x (list() | atomic vector()). .y () Object test .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/has_element.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check if an Object is Element of a List — has_element","text":"","code":"has_element(list(1, 2, 3), 1) #> [1] TRUE"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":null,"dir":"Reference","previous_headings":"","what":"Hash Input — hash_input","title":"Hash Input — hash_input","text":"Returns part object used calculate hash.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Hash Input — hash_input","text":"","code":"hash_input(x) # S3 method for class '`function`' hash_input(x) # S3 method for class 'data.table' hash_input(x) # Default S3 method hash_input(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Hash Input — hash_input","text":"x () Object retrieve hash input.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/hash_input.html","id":"methods-by-class-","dir":"Reference","previous_headings":"","what":"Methods (by class)","title":"Hash Input — hash_input","text":"hash_input(`function`): formals body returned list(). ensures bytecode parent environment included. hash. hash_input(data.table): data.table converted regular list hash_input() applied elements. conversion list ensures keys indices included hash. hash_input(default): Returns object .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":null,"dir":"Reference","previous_headings":"","what":"Extract ids from a List of Objects — ids","title":"Extract ids from a List of Objects — ids","text":"None.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extract ids from a List of Objects — ids","text":"","code":"ids(xs)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extract ids from a List of Objects — ids","text":"xs (list()) Every element must slot 'id'.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extract ids from a List of Objects — ids","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/ids.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extract ids from a List of Objects — ids","text":"","code":"xs = list(a = list(id = \"foo\", a = 1), bar = list(id = \"bar\", a = 2)) ids(xs) #> [1] \"foo\" \"bar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":null,"dir":"Reference","previous_headings":"","what":"Insert or Remove Named Elements — insert_named","title":"Insert or Remove Named Elements — insert_named","text":"Insert elements y x name, remove elements x name. Works vectors, lists, environments data frames data tables. Objects reference semantic (environment() data.table::data.table()) might modified -place.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Insert or Remove Named Elements — insert_named","text":"","code":"insert_named(x, y) # S3 method for class '`NULL`' insert_named(x, y) # Default S3 method insert_named(x, y) # S3 method for class 'environment' insert_named(x, y) # S3 method for class 'data.frame' insert_named(x, y) # S3 method for class 'data.table' insert_named(x, y) remove_named(x, nn) # S3 method for class 'environment' remove_named(x, nn) # S3 method for class 'data.frame' remove_named(x, nn) # S3 method for class 'data.table' remove_named(x, nn)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Insert or Remove Named Elements — insert_named","text":"x (vector() | list() | environment() | data.table::data.table()) Object insert elements , remove elements . Changes -reference environments data tables. y (list()) List elements insert x. nn (character()) Character vector elements remove.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Insert or Remove Named Elements — insert_named","text":"Modified object.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/insert_named.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Insert or Remove Named Elements — insert_named","text":"","code":"x = list(a = 1, b = 2) insert_named(x, list(b = 3, c = 4)) #> $a #> [1] 1 #> #> $b #> [1] 3 #> #> $c #> [1] 4 #> remove_named(x, \"b\") #> $a #> [1] 1 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":null,"dir":"Reference","previous_headings":"","what":"Invoke a Function Call — invoke","title":"Invoke a Function Call — invoke","text":"alternative interface .call(), similar deprecated function purrr. function tries hard evaluate passed arguments eagerly important working large R objects. recommended pass arguments named order rely positional argument matching.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Invoke a Function Call — invoke","text":"","code":"invoke( .f, ..., .args = list(), .opts = list(), .seed = NA_integer_, .timeout = Inf )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Invoke a Function Call — invoke","text":".f (function()) Function call. ... () Additional function arguments passed .f. .args (list()) Additional function arguments passed .f, (named) list(). arguments concatenated arguments provided via .... .opts (named list()) List options set .f called. Options reset previous state afterwards. .seed (integer(1)) Random seed set invoking function call. Gets reset previous seed exit. .timeout (numeric(1)) Timeout seconds. Uses setTimeLimit(). Note timeouts triggered user interrupt, compiled code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/invoke.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Invoke a Function Call — invoke","text":"","code":"invoke(mean, .args = list(x = 1:10)) #> [1] 5.5 invoke(mean, na.rm = TRUE, .args = list(1:10)) #> [1] 5.5"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for a Single Scalar Value — is_scalar_na","title":"Check for a Single Scalar Value — is_scalar_na","text":"Check Single Scalar Value","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for a Single Scalar Value — is_scalar_na","text":"","code":"is_scalar_na(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for a Single Scalar Value — is_scalar_na","text":"x () Argument check.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/is_scalar_na.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check for a Single Scalar Value — is_scalar_na","text":"(logical(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":null,"dir":"Reference","previous_headings":"","what":"Remove All Elements Out Of Bounds — keep_in_bounds","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"Filters vector x keep elements bounds [lower, upper]. equivalent following, tries avoid unnecessary allocations: Currently works integer x.","code":"x[!is.na(x) & x >= lower & x <= upper]"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"","code":"keep_in_bounds(x, lower, upper)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"x (integer()) Vector filter. lower (integer(1)) Lower bound. upper (integer(1)) Upper bound.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"(integer()) values [lower, upper].","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/keep_in_bounds.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Remove All Elements Out Of Bounds — keep_in_bounds","text":"","code":"keep_in_bounds(sample(20), 5, 10) #> [1] 10 7 6 9 8 5"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":null,"dir":"Reference","previous_headings":"","what":"Move all methods of an R6 Class to an environment — leanify_r6","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"leanify_r6 moves content R6::R6Class's functions environment, usually package's namespace, save space serialization R6 objects. leanify_package move methods R6 Classes environment. function class (.e. object generator) replaced stump function nothing except calling original function now resides somewhere else. possible call function definition R6::R6 class inside package, preferred use leanify_package() just leanify R6::R6 classes inside package.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"","code":"leanify_r6(cls, env = cls$parent_env) leanify_package(pkg_env = parent.frame(), skip_if = function(x) FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"cls (R6::R6Class) Class generator modify. env (environment) target environment function stored. either cls$parent_env (default) one parent environments, otherwise stump function find moved (original code) function. pkg_env :: environment namespace leanify R6 classes. package namespace, intended usecase. skip_if :: function Function one argument: called individual R6::R6Class. returns TRUE, class skipped. Default function evaluating FALSE always (.e. skipping classes).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/leanify_r6.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Move all methods of an R6 Class to an environment — leanify_r6","text":"NULL.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve a Single Data Set — load_dataset","title":"Retrieve a Single Data Set — load_dataset","text":"Loads data set name id package package returns . package installed, error condition \"packageNotFoundError\" raised. name missing packages stored condition packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve a Single Data Set — load_dataset","text":"","code":"load_dataset(id, package, keep_rownames = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve a Single Data Set — load_dataset","text":"id (character(1)) Name data set. package (character(1)) Package load data set . keep_rownames (logical(1)) Keep possible row names (default: FALSE).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/load_dataset.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve a Single Data Set — load_dataset","text":"","code":"head(load_dataset(\"iris\", \"datasets\")) #> Sepal.Length Sepal.Width Petal.Length Petal.Width Species #> 1 5.1 3.5 1.4 0.2 setosa #> 2 4.9 3.0 1.4 0.2 setosa #> 3 4.7 3.2 1.3 0.2 setosa #> 4 4.6 3.1 1.5 0.2 setosa #> 5 5.0 3.6 1.4 0.2 setosa #> 6 5.4 3.9 1.7 0.4 setosa"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":null,"dir":"Reference","previous_headings":"","what":"Replace Elements of Vectors with New Values — map_values","title":"Replace Elements of Vectors with New Values — map_values","text":"Replaces values x match old values new. Values matched base::match().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Replace Elements of Vectors with New Values — map_values","text":"","code":"map_values(x, old, new)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Replace Elements of Vectors with New Values — map_values","text":"x (vector()). old (vector()) Vector values replace. new (vector()) Values replace . forced length old base::rep_len().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Replace Elements of Vectors with New Values — map_values","text":"(vector()) length x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/map_values.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Replace Elements of Vectors with New Values — map_values","text":"","code":"x = letters[1:5] # replace all \"b\" with \"_b_\", and all \"c\" with \"_c_\" old = c(\"b\", \"c\") new = c(\"_b_\", \"_c_\") map_values(x, old, new) #> [1] \"a\" \"_b_\" \"_c_\" \"d\" \"e\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr3misc-package.html","id":null,"dir":"Reference","previous_headings":"","what":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","title":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","text":"Frequently used helper functions assertions used 'mlr3' companion packages. Comes helper functions functional programming, printing, work 'data.table', well generally useful 'R6' classes. package also supersedes package 'BBmisc'.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr3misc-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"mlr3misc: Helper Functions for 'mlr3' — mlr3misc-package","text":"Maintainer: Michel Lang michellang@gmail.com (ORCID) Authors: Patrick Schratz patrick.schratz@gmail.com (ORCID)","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":null,"dir":"Reference","previous_headings":"","what":"Dictionary of Callbacks — mlr_callbacks","title":"Dictionary of Callbacks — mlr_callbacks","text":"simple Dictionary storing objects class Callback. callback associated help page, see mlr_callbacks_[id]. dictionary can get populated additional callbacks add-packages. convention, key start name package, .e. package.callback. convenient way retrieve construct learners, see clbk()/clbks().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dictionary of Callbacks — mlr_callbacks","text":"","code":"mlr_callbacks"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/mlr_callbacks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Dictionary of Callbacks — mlr_callbacks","text":"object class DictionaryCallbacks (inherits Dictionary, R6) length 13.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":null,"dir":"Reference","previous_headings":"","what":"Selectively Modify Elements of a Vector — modify_if","title":"Selectively Modify Elements of a Vector — modify_if","text":"Modifies elements vector selectively, similar functions purrr. modify_if() applies predicate function .p elements .x applies .f elements .x .p evaluates TRUE. modify_at() applies .f elements .x selected via ..","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Selectively Modify Elements of a Vector — modify_if","text":"","code":"modify_if(.x, .p, .f, ...) modify_at(.x, .at, .f, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Selectively Modify Elements of a Vector — modify_if","text":".x (vector()). .p (function()) Predicate function. .f (function()) Function apply .x. ... () Additional arguments passed .f. .((integer() | character())) Index vector select elements .x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/modify_if.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Selectively Modify Elements of a Vector — modify_if","text":"","code":"x = modify_if(iris, is.factor, as.character) str(x) #> 'data.frame':\t150 obs. of 5 variables: #> $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... #> $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... #> $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... #> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... #> $ Species : chr \"setosa\" \"setosa\" \"setosa\" \"setosa\" ... x = modify_at(iris, 5, as.character) x = modify_at(iris, \"Sepal.Length\", sqrt) str(x) #> 'data.frame':\t150 obs. of 5 variables: #> $ Sepal.Length: num 2.26 2.21 2.17 2.14 2.24 ... #> $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... #> $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... #> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... #> $ Species : Factor w/ 3 levels \"setosa\",\"versicolor\",..: 1 1 1 1 1 1 1 1 1 1 ..."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Named List — named_list","title":"Create a Named List — named_list","text":"Create Named List","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Named List — named_list","text":"","code":"named_list(nn = character(0L), init = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Named List — named_list","text":"nn (character()) Names new list. init () list elements initialized value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a Named List — named_list","text":"(named list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Named List — named_list","text":"","code":"named_list(c(\"a\", \"b\")) #> $a #> NULL #> #> $b #> NULL #> named_list(c(\"a\", \"b\"), init = 1) #> $a #> [1] 1 #> #> $b #> [1] 1 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Named Vector — named_vector","title":"Create a Named Vector — named_vector","text":"Creates simple atomic vector init values.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Named Vector — named_vector","text":"","code":"named_vector(nn = character(0L), init = NA)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Named Vector — named_vector","text":"nn (character()) Names new vector init (atomic) vector elements initialized value.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a Named Vector — named_vector","text":"(named vector()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/named_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Named Vector — named_vector","text":"","code":"named_vector(c(\"a\", \"b\"), NA) #> a b #> NA NA named_vector(character()) #> named logical(0)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":null,"dir":"Reference","previous_headings":"","what":"A Type-Stable names() Replacement — names2","title":"A Type-Stable names() Replacement — names2","text":"simple wrapper around base::names(). Returns character vector even names attribute set. Values NA \"\" treated missing replaced value provided missing_val.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A Type-Stable names() Replacement — names2","text":"","code":"names2(x, missing_val = NA_character_)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A Type-Stable names() Replacement — names2","text":"x () Object. missing_val (atomic(1)) Value set missing names. Default NA_character_.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A Type-Stable names() Replacement — names2","text":"(character(length(x))).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/names2.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A Type-Stable names() Replacement — names2","text":"","code":"x = 1:3 names(x) #> NULL names2(x) #> [1] NA NA NA names(x)[1:2] = letters[1:2] names(x) #> [1] \"a\" \"b\" NA names2(x, missing_val = \"\") #> [1] \"a\" \"b\" \"\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":null,"dir":"Reference","previous_headings":"","what":"Negated in-operator — %nin%","title":"Negated in-operator — %nin%","text":"operator equivalent !(x %% y).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Negated in-operator — %nin%","text":"","code":"x %nin% y"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/nin.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Negated in-operator — %nin%","text":"x (vector()) Values y. y (vector()) Values match .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":null,"dir":"Reference","previous_headings":"","what":"Opens a Manual Page — open_help","title":"Opens a Manual Page — open_help","text":"Simply opens manual page specified \"package::topic\" syntax.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Opens a Manual Page — open_help","text":"","code":"open_help(man)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Opens a Manual Page — open_help","text":"man (character(1)) Manual page open \"package::topic\" syntax.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/open_help.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Opens a Manual Page — open_help","text":"Nothing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":null,"dir":"Reference","previous_headings":"","what":"Functions for Formatted Output and Conditions — printf","title":"Functions for Formatted Output and Conditions — printf","text":"catf(), messagef(), warningf() stopf() wrappers around base::cat(), base::message(), base::warning() base::stop(), respectively. call included warnings errors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Functions for Formatted Output and Conditions — printf","text":"","code":"catf(msg, ..., file = \"\", wrap = FALSE) messagef(msg, ..., wrap = FALSE) warningf(msg, ..., wrap = FALSE) stopf(msg, ..., wrap = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Functions for Formatted Output and Conditions — printf","text":"msg (character(1)) Format string passed base::sprintf(). ... () Arguments passed base::sprintf(). file (character(1)) Passed base::cat(). wrap (integer(1) | logical(1)) set positive integer, base::strwrap() used wrap string provided width. set TRUE, width defaults 0.9 * getOption(\"width\"). set FALSE, wrapping disabled (default). wrapping enabled, whitespace characters ([[:space:]]) converted spaces, consecutive spaces converted single space.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/printf.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Functions for Formatted Output and Conditions — printf","text":"","code":"messagef(\" This is a rather long %s on multiple lines which will get wrapped. \", \"string\", wrap = 15) #> This is a #> rather long #> string on #> multiple lines #> which will get #> wrapped."},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":null,"dir":"Reference","previous_headings":"","what":"Bind Columns by Reference — rcbind","title":"Bind Columns by Reference — rcbind","text":"Performs base::cbind() data.tables, possibly reference.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Bind Columns by Reference — rcbind","text":"","code":"rcbind(x, y)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Bind Columns by Reference — rcbind","text":"x (data.table::data.table())data.table::data.table() add columns . y (data.table::data.table())data.table::data.table() take columns .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Bind Columns by Reference — rcbind","text":"(data.table::data.table()): Updated x .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rcbind.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Bind Columns by Reference — rcbind","text":"","code":"x = data.table::data.table(a = 1:3, b = 3:1) y = data.table::data.table(c = runif(3)) rcbind(x, y) #> a b c #> #> 1: 1 3 0.4183614 #> 2: 2 2 0.6688707 #> 3: 3 1 0.5076503"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers to Create Manual Pages — rd_info","title":"Helpers to Create Manual Pages — rd_info","text":"rd_info() internal generic generate Rd markdown code used manual pages. rd_format_string() rd_format_range() string functions assist generating proper Rd code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helpers to Create Manual Pages — rd_info","text":"","code":"rd_info(obj, ...) rd_format_range(lower, upper) rd_format_string(str, quote = c(\"\\\\dQuote{\", \"}\")) rd_format_packages(packages)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helpers to Create Manual Pages — rd_info","text":"obj () Object respective class. ... ()) Additional arguments. lower (numeric(1)) Lower bound. upper (numeric(1)) Upper bound. str (character()) Vector strings. quote (character()) Quotes use around element x. replicated lenght 2. packages (character()) Vector package names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rd_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Helpers to Create Manual Pages — rd_info","text":"character(), possibly markdown code.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":null,"dir":"Reference","previous_headings":"","what":"Recycle List of Vectors to Common Length — recycle_vectors","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"Repeats vectors list .x length longest vector using rep() argument length.. operation work length longest vectors integer multiple shorter vectors, throw exception otherwise.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"","code":"recycle_vectors(.x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":".x (list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"(list()) vectors size.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/recycle_vectors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Recycle List of Vectors to Common Length — recycle_vectors","text":"","code":"recycle_vectors(list(a = 1:3, b = 2)) #> $a #> [1] 1 2 3 #> #> $b #> [1] 2 2 2 #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":null,"dir":"Reference","previous_headings":"","what":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"Register function callback called namespace loaded. Calls callback namespace already loaded also adds unload-hook removes load hook.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"","code":"register_namespace_callback(pkgname, namespace, callback)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"pkgname (character(1)) Name package registers callback. namespace (character(1)) Namespace react . callback (function()) Function call namespace load.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/register_namespace_callback.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Registers a Callback on Namespace load/unLoad Events — register_namespace_callback","text":"NULL.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":null,"dir":"Reference","previous_headings":"","what":"Reorder Vector According to Second Vector — reorder_vector","title":"Reorder Vector According to Second Vector — reorder_vector","text":"Returns integer vector order vector x according vector y.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reorder Vector According to Second Vector — reorder_vector","text":"","code":"reorder_vector(x, y, na_last = NA)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reorder Vector According to Second Vector — reorder_vector","text":"x (vector()). y (vector()). na_last (logical(1)) values x y? NA: Extra values removed. FALSE: Extra values moved beginning new vector. TRUE: Extra values moved end new vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Reorder Vector According to Second Vector — reorder_vector","text":"(integer()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/reorder_vector.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Reorder Vector According to Second Vector — reorder_vector","text":"","code":"# x subset of y x = c(\"b\", \"a\", \"c\", \"d\") y = letters x[reorder_vector(x, y)] #> [1] \"a\" \"b\" \"c\" \"d\" # y subset of x y = letters[1:3] x[reorder_vector(x, y)] #> [1] \"a\" \"b\" \"c\" x[reorder_vector(x, y, na_last = TRUE)] #> [1] \"a\" \"b\" \"c\" \"d\" x[reorder_vector(x, y, na_last = FALSE)] #> [1] \"d\" \"a\" \"b\" \"c\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":null,"dir":"Reference","previous_headings":"","what":"Require Multiple Namespaces — require_namespaces","title":"Require Multiple Namespaces — require_namespaces","text":"Packages loaded (attached) via base::requireNamespace(). least package can loaded, exception class \"packageNotFoundError\" raised. character vector missing packages stored condition packages.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Require Multiple Namespaces — require_namespaces","text":"","code":"require_namespaces( pkgs, msg = \"The following packages could not be loaded: %s\", quietly = FALSE )"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Require Multiple Namespaces — require_namespaces","text":"pkgs (character()) Packages load. msg (character(1)) Message print error. Use \"%s\" placeholder list packages. quietly (logical(1)) TRUE returns TRUE packages loaded, otherwise FALSE.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Require Multiple Namespaces — require_namespaces","text":"(character()) loaded packages (invisibly).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/require_namespaces.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Require Multiple Namespaces — require_namespaces","text":"","code":"require_namespaces(\"mlr3misc\") # catch condition, return missing packages tryCatch(require_namespaces(c(\"mlr3misc\", \"foobaaar\")), packageNotFoundError = function(e) e$packages) #> [1] \"foobaaar\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Row-Wise Constructor for 'data.table' — rowwise_table","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"Similar tibble function tribble(), function allows construct tabular data row-wise fashion. first arguments passed formula interpreted column names. remaining arguments put resulting table.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"","code":"rowwise_table(..., .key = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"... () Arguments: Column names first rows formulas (empty left hand side), tabular data following rows. .key (character(1)) NULL, set key via data.table::setkeyv() constructing table.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"data.table::data.table().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/rowwise_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Row-Wise Constructor for 'data.table' — rowwise_table","text":"","code":"rowwise_table( ~a, ~b, 1, \"a\", 2, \"b\" ) #> a b #> #> 1: 1 a #> 2: 2 b"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":null,"dir":"Reference","previous_headings":"","what":"Sequence Construction Helpers — sequence_helpers","title":"Sequence Construction Helpers — sequence_helpers","text":"seq_row() creates sequence along number rows x, seq_col() sequence along number columns x. seq_len0() seq_along0() 0-based counterparts base::seq_len() base::seq_along().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Sequence Construction Helpers — sequence_helpers","text":"","code":"seq_row(x) seq_col(x) seq_len0(n) seq_along0(x)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Sequence Construction Helpers — sequence_helpers","text":"x () Arbitrary object. Used query rows, cols length. n (integer(1)) Length sequence.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/sequence_helpers.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Sequence Construction Helpers — sequence_helpers","text":"","code":"seq_len0(3) #> [1] 0 1 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the Class — set_class","title":"Set the Class — set_class","text":"Simple wrapper class(x) = classes.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the Class — set_class","text":"","code":"set_class(x, classes)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the Class — set_class","text":"x (). classes (character(1)) Vector new class names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set the Class — set_class","text":"Object x, updated class attribute.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set the Class — set_class","text":"","code":"set_class(list(), c(\"foo1\", \"foo2\")) #> list() #> attr(,\"class\") #> [1] \"foo1\" \"foo2\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Set Names — set_names","title":"Set Names — set_names","text":"Sets names (colnames) x nm. nm function, used transform already existing names x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set Names — set_names","text":"","code":"set_names(x, nm = x, ...) set_col_names(x, nm, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set Names — set_names","text":"x (.) Object set names . nm (character() | function()) New names, function transforms already existing names. ... () Passed nm nm function.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set Names — set_names","text":"x updated names.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set Names — set_names","text":"","code":"x = letters[1:3] # name x with itself: x = set_names(x) print(x) #> a b c #> \"a\" \"b\" \"c\" # convert names to uppercase x = set_names(x, toupper) print(x) #> A B C #> \"a\" \"b\" \"c\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":null,"dir":"Reference","previous_headings":"","what":"Modify Values of a Parameter Set — set_params","title":"Modify Values of a Parameter Set — set_params","text":"Convenience function modfiy (overwrite) values paradox::ParamSet.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Modify Values of a Parameter Set — set_params","text":"","code":"set_params(.ps, ..., .values = list(), .insert = TRUE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Modify Values of a Parameter Set — set_params","text":".ps (paradox::ParamSet) parameter set whose values changed. ... () Named parameter values. .values (list()) Named list parameter values. .insert (logical(1)) Whether insert values (old values kept, overwritten), discard old values. TRUE default.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/set_params.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Modify Values of a Parameter Set — set_params","text":"","code":"if (requireNamespace(\"paradox\")) { param_set = paradox::ps(a = paradox::p_dbl(), b = paradox::p_dbl()) param_set$values$a = 0 set_params(param_set, a = 1, .values = list(b = 2), .insert = TRUE) set_params(param_set, a = 3, .insert = FALSE) set_params(param_set, b = 4, .insert = TRUE) } #> #> id class lower upper nlevels default value #> #> 1: a ParamDbl -Inf Inf Inf 3 #> 2: b ParamDbl -Inf Inf Inf 4"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":null,"dir":"Reference","previous_headings":"","what":"Safe Version of Sample — shuffle","title":"Safe Version of Sample — shuffle","text":"version sample() treat positive scalar integer x differently. See example.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Safe Version of Sample — shuffle","text":"","code":"shuffle(x, n = length(x), ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Safe Version of Sample — shuffle","text":"x (vector()) Vector sample elements . n (integer()) Number elements sample. ... () Arguments passed base::sample.int().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/shuffle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Safe Version of Sample — shuffle","text":"","code":"x = 2:3 sample(x) #> [1] 3 2 shuffle(x) #> [1] 2 3 x = 3 sample(x) #> [1] 1 3 2 shuffle(x) #> [1] 3"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":null,"dir":"Reference","previous_headings":"","what":"Collapse Strings — str_collapse","title":"Collapse Strings — str_collapse","text":"Collapse multiple strings single string.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Collapse Strings — str_collapse","text":"","code":"str_collapse(str, sep = \", \", quote = character(), n = Inf, ellipsis = \"[...]\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Collapse Strings — str_collapse","text":"str (character()) Vector strings. sep (character(1)) String used collapse elements x. quote (character()) Quotes use around element x. replicated lenght 2. n (integer(1)) Number elements keep x. See utils::head(). ellipsis (character(1)) string shortened, signaled appending ellipsis str. Default \" [...]\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Collapse Strings — str_collapse","text":"(character(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_collapse.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Collapse Strings — str_collapse","text":"","code":"str_collapse(letters, quote = \"'\", n = 5) #> [1] \"'a', 'b', 'c', 'd', 'e', [...]\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":null,"dir":"Reference","previous_headings":"","what":"Indent Strings — str_indent","title":"Indent Strings — str_indent","text":"Formats text block printing.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Indent Strings — str_indent","text":"","code":"str_indent(initial, str, width = 0.9 * getOption(\"width\"), exdent = 2L, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Indent Strings — str_indent","text":"initial (character(1)) Initial string, passed strwrap(). str (character()) Vector strings. width (integer(1)) Width output. exdent (integer(1)) Indentation subsequent lines paragraph. ... () Additional parameters passed str_collapse().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Indent Strings — str_indent","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_indent.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Indent Strings — str_indent","text":"","code":"cat(str_indent(\"Letters:\", str_collapse(letters), width = 25), sep = \"\\n\") #> Letters: a, b, c, d, e, #> f, g, h, i, j, k, l, #> m, n, o, p, q, r, s, #> t, u, v, w, x, y, z"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":null,"dir":"Reference","previous_headings":"","what":"Truncate Strings — str_trunc","title":"Truncate Strings — str_trunc","text":"str_trunc() truncates string given width.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Truncate Strings — str_trunc","text":"","code":"str_trunc(str, width = 0.9 * getOption(\"width\"), ellipsis = \"[...]\")"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Truncate Strings — str_trunc","text":"str (character()) Vector strings. width (integer(1)) Width output. ellipsis (character(1)) string shortened, signaled appending ellipsis str. Default \"[...]\".","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Truncate Strings — str_trunc","text":"(character()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/str_trunc.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Truncate Strings — str_trunc","text":"","code":"str_trunc(\"This is a quite long string\", 20) #> [1] \"This is a quite[...]\""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":null,"dir":"Reference","previous_headings":"","what":"Strip source references from objects — strip_srcrefs","title":"Strip source references from objects — strip_srcrefs","text":"Source references can make objects unexpectedly large undesireable many situations. renv installs packages ---keep.source option, sometimes need remove source references objects. Methods remove source references input, otherwise leave input unchanged.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Strip source references from objects — strip_srcrefs","text":"","code":"strip_srcrefs(x, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/strip_srcrefs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Strip source references from objects — strip_srcrefs","text":"x () object strip source references. ... () Additional arguments method.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert a Vector of Bits to a Decimal Number — to_decimal","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"Converts logical vector binary decimal. bit vector may length, last position least significant, .e. bits multiplied 2^(n-1), 2^(n-2), ..., 2^1, 2^0 n length bit vector.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"","code":"to_decimal(bits)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"bits (logical()) Logical vector input values. Missing values treated FALSE. bits longer 30 elements, exception raised.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/to_decimal.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert a Vector of Bits to a Decimal Number — to_decimal","text":"(integer(1)).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":null,"dir":"Reference","previous_headings":"","what":"Topological Sorting of Dependency Graphs — topo_sort","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"Topologically sort graph, passed node labels list direct parents node, labels, . node can 'processed' parents 'processed', hence occur previous indices resulting sorting. Returns table, topological row order IDs, entry depth, encodes topological layer, starting 0. nodes depth == 0 ones dependencies, one maximal depth ones nothing else depends .","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"","code":"topo_sort(nodes)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"nodes (data.table::data.table()) 2 columns: id type character, contains node labels. parents type list character, contains direct parents label id.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"(data.table::data.table()) columns id, depth, sorted topologically IDs.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/topo_sort.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Topological Sorting of Dependency Graphs — topo_sort","text":"","code":"nodes = rowwise_table( ~id, ~parents, \"a\", \"b\", \"b\", \"c\", \"c\", character() ) topo_sort(nodes) #> id depth #> #> 1: c 0 #> 2: b 1 #> 3: a 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Transpose lists of lists — transpose_list","title":"Transpose lists of lists — transpose_list","text":"Transposes list list, turns inside , similar function transpose() package purrr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Transpose lists of lists — transpose_list","text":"","code":"transpose_list(.l)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Transpose lists of lists — transpose_list","text":".l (list() list()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Transpose lists of lists — transpose_list","text":"list().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/transpose_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Transpose lists of lists — transpose_list","text":"","code":"x = list(list(a = 2, b = 3), list(a = 5, b = 10)) str(x) #> List of 2 #> $ :List of 2 #> ..$ a: num 2 #> ..$ b: num 3 #> $ :List of 2 #> ..$ a: num 5 #> ..$ b: num 10 str(transpose_list(x)) #> List of 2 #> $ a:List of 2 #> ..$ : num 2 #> ..$ : num 5 #> $ b:List of 2 #> ..$ : num 3 #> ..$ : num 10 # list of data frame rows: transpose_list(iris[1:2, ]) #> [[1]] #> [[1]]$Sepal.Length #> [1] 5.1 #> #> [[1]]$Sepal.Width #> [1] 3.5 #> #> [[1]]$Petal.Length #> [1] 1.4 #> #> [[1]]$Petal.Width #> [1] 0.2 #> #> [[1]]$Species #> [1] setosa #> Levels: setosa versicolor virginica #> #> #> [[2]] #> [[2]]$Sepal.Length #> [1] 4.9 #> #> [[2]]$Sepal.Width #> [1] 3 #> #> [[2]]$Petal.Length #> [1] 1.4 #> #> [[2]]$Petal.Width #> [1] 0.2 #> #> [[2]]$Species #> [1] setosa #> Levels: setosa versicolor virginica #> #>"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":null,"dir":"Reference","previous_headings":"","what":"Unnest List Columns — unnest","title":"Unnest List Columns — unnest","text":"Transforms list columns separate columns, possibly reference. original columns removed returned table. non-atomic objects list columns expand new list column.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unnest List Columns — unnest","text":"","code":"unnest(x, cols, prefix = NULL)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unnest List Columns — unnest","text":"x (data.table::data.table())data.table::data.table() columns unnest. cols (character()) Column names list columns operate . prefix (logical(1) | character(1)) String prefix new column names . Use \"{col}\" (without quotes) placeholder original column name.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unnest List Columns — unnest","text":"(data.table::data.table()).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/unnest.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unnest List Columns — unnest","text":"","code":"x = data.table::data.table( id = 1:2, value = list(list(a = 1, b = 2), list(a = 2, b = 2)) ) print(x) #> id value #> #> 1: 1 #> 2: 2 unnest(data.table::copy(x), \"value\") #> id a b #> #> 1: 1 1 2 #> 2: 2 2 2 unnest(data.table::copy(x), \"value\", prefix = \"{col}.\") #> id value.a value.b #> #> 1: 1 1 2 #> 2: 2 2 2"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":null,"dir":"Reference","previous_headings":"","what":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"Works similar base::.min()/base::.max(), corrects ties. Missing values treated Inf which_min -Inf which_max().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"","code":"which_min(x, ties_method = \"random\", na_rm = FALSE) which_max(x, ties_method = \"random\", na_rm = FALSE)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"x (numeric()) Numeric vector. ties_method (character(1)) Handling ties. One \"first\", \"last\" \"random\" (default) return first index, last index, random index minimum/maximum values. na_rm (logical(1)) Remove NAs computation?","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"(integer()): Index minimum/maximum value. Returns empty integer vector empty input vectors vectors non-missing values (na_rm TRUE). Returns NA na_rm FALSE least one NA found x.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/which_min.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Index of the Minimum/Maximum Value, with Correction for Ties — which_min","text":"","code":"x = c(2, 3, 1, 3, 5, 1, 1) which_min(x, ties_method = \"first\") #> [1] 3 which_min(x, ties_method = \"last\") #> [1] 7 which_min(x, ties_method = \"random\") #> [1] 6 which_max(x) #> [1] 5 which_max(integer(0)) #> integer(0) which_max(NA) #> [1] NA which_max(c(NA, 1)) #> [1] NA"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":null,"dir":"Reference","previous_headings":"","what":"Execture code with a modified search path — with_package","title":"Execture code with a modified search path — with_package","text":"Attaches package search path (already attached), executes code eventually removes package search path , restoring previous state. Note function deprecated favor (now fixed) version withr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execture code with a modified search path — with_package","text":"","code":"with_package(package, code, ...)"},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execture code with a modified search path — with_package","text":"package (character(1)) Name package attach. code (expression) Code run. ... () Additional arguments passed library().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/reference/with_package.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execture code with a modified search path — with_package","text":"Result evaluation code.","code":""},{"path":[]},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-development-version","dir":"Changelog","previous_headings":"","what":"mlr3misc (development version)","title":"mlr3misc (development version)","text":"Bugfix: crate() using correct ‘topenv’ environment now.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0151","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.15.1","title":"mlr3misc 0.15.1","text":"CRAN release: 2024-06-24 refactor: Update as_callback() functions.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0150","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.15.0","title":"mlr3misc 0.15.0","text":"CRAN release: 2024-04-10 Feat: Added strip_screfs S3 generic, removes source references objects RNG state now copied callr session using encapsulate().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0140","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.14.0","title":"mlr3misc 0.14.0","text":"CRAN release: 2024-02-01 Added argument .compile function crate() R disables byte-code compilation functions changing enclosing environment Added possibility include prototype arguments adding elements Dictionary Removed unused argument required_args Dictionary class Disable leanification ROXYGEN_PKG environment variable set","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0130","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.13.0","title":"mlr3misc 0.13.0","text":"CRAN release: 2023-09-20 Updated default environment crate() topenv() (#86). Added safe methods dictionary retrieval (#83) fix: Fixed important bug caused serialized objects overly large installing mlr3 ---keep.source (#88)","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0120","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.12.0","title":"mlr3misc 0.12.0","text":"CRAN release: 2023-05-12 Added new encapsulation mode \"try\". Added functions dictionary_sugar_inc_get dictionary_sugar_inc_mget allow conveniently add suffixes dictionary ids retrieving objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0110","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.11.0","title":"mlr3misc 0.11.0","text":"CRAN release: 2022-09-22 Added initial support callback mechanism, see as_callback(). Added helper catn(). Added helper set_params(). Added assign method get_private(). Elements dictionary via dictionary_sugar_mget() now returned named.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-0100","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.10.0","title":"mlr3misc 0.10.0","text":"CRAN release: 2022-01-11 Added helper get_private(). Added helper map_br() map_bc(). Added helper recycle_vectors(). Added helpers walk(), iwalk() pwalk().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-095","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.5","title":"mlr3misc 0.9.5","text":"CRAN release: 2021-11-16 Added helper deframe().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-094","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.4","title":"mlr3misc 0.9.4","text":"CRAN release: 2021-09-08 Added helper capitalize(). Added helper to_decimal(). Fixed cleanup register_namespace_callback().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-093","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.3","title":"mlr3misc 0.9.3","text":"CRAN release: 2021-07-14 New (internal) helper functions: calculate_hash() assert_ro_binding()","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-092","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.2","title":"mlr3misc 0.9.2","text":"CRAN release: 2021-06-29 R6 objects retrieved dictionary now properly cloned.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-091","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.1","title":"mlr3misc 0.9.1","text":"CRAN release: 2021-04-28 Fixed compilation R versions older 3.5.0 (#59).","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-090","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.9.0","title":"mlr3misc 0.9.0","text":"CRAN release: 2021-04-12 Changed return type reorder_vector(). Added assertions pmap() avoid segfault (#56). Added count_missing().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-080","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.8.0","title":"mlr3misc 0.8.0","text":"CRAN release: 2021-03-19 New function reorder_vector(). formulate() can now quote terms, defaulting quote terms right hand side.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-070","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.7.0","title":"mlr3misc 0.7.0","text":"CRAN release: 2021-01-05 Make map functions work nicely data frames data tables. formulate() now supports multiple LHS terms. Added format_bib() cite_bib() helpers working bibentires roxygen2.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-060","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.6.0","title":"mlr3misc 0.6.0","text":"CRAN release: 2020-11-17 New argument .timeout invoke(). New argument .timeout encapsulate(). Removed cite_bib() Rd macro \\cite{} removed orphaned package bibtex suggests. New argument quietly require_namespaces(). New function crate() cleanly separate function environment. New function register_namespace_callback().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-050","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.5.0","title":"mlr3misc 0.5.0","text":"CRAN release: 2020-08-13 Added compose() function function composition. Added method leanify_package() shrinks size serialized R6 objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-040","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.4.0","title":"mlr3misc 0.4.0","text":"CRAN release: 2020-07-17 Added helper functions assist generating Rd documentation ‘mlr3’ objects.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-030","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.3.0","title":"mlr3misc 0.3.0","text":"CRAN release: 2020-06-03 Introduced placeholder column name prefixes unnest().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-020","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.2.0","title":"mlr3misc 0.2.0","text":"CRAN release: 2020-04-15 Fixed issue rcbind() columns x named y (#42). Fixed broken .exit() invoke() seed list options provided.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-018","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.8","title":"mlr3misc 0.1.8","text":"CRAN release: 2020-02-21 New function check_packages_installed(). New function open_help().","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-017","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.7","title":"mlr3misc 0.1.7","text":"CRAN release: 2020-01-28 map_dtr(), imap_dtr() pmap_dtr() now pass .idcol argument idcol data.table::rbindlist(). cite_bib() can now handle packages multiple citation entries. Added argument wrap catf(), messagef(), warningf() stopf() wrap respective messages customizable width. Added with_package() helper, similar one package withr.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-016","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.6","title":"mlr3misc 0.1.6","text":"CRAN release: 2019-12-12 cite_bib() Rd macro \\cite{} can now return citation information package key set \"pkg::citation\". Updated dictionary helpers.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-015","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.5","title":"mlr3misc 0.1.5","text":"CRAN release: 2019-09-28 Fixed error C code discovered UBSAN checks CRAN. Added dictionary_sugar_mget(). Renamed dictionary_sugar() dictionary_sugar_get(). Added function cite_bib() Rd macro \\cite{} insert entries bibtex files roxygen documentation. unnest() now creates list columns non atomic list elements.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-014","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.4","title":"mlr3misc 0.1.4","text":"CRAN release: 2019-09-17 Added argument na_rm which_max() which_min(). Fixed bug as_short_string() empty atomic vectors.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-013","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.3","title":"mlr3misc 0.1.3","text":"CRAN release: 2019-08-22 New function detect(). New function dictionary_sugar(). now asserted return value Dictionary$get() R6 object. Fix assertions Dictionary","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-012","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.2","title":"mlr3misc 0.1.2","text":"CRAN release: 2019-08-07 New function named_vector(). New function keep_in_bounds(). New function set_col_names(). New function distinct_values(). Added argument .key rowwise_table(). Additional arguments passed Dictionary$get() Dictionary$mget() must now named.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-011","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.1","title":"mlr3misc 0.1.1","text":"CRAN release: 2019-07-23 New function encapsulate() call functions recording log. invoke(): New arguments .opts .seed temporarily set options random seeds, respectively. Fixed warnings partial argument matching.","code":""},{"path":"https://mlr3misc.mlr-org.com/dev/news/index.html","id":"mlr3misc-010","dir":"Changelog","previous_headings":"","what":"mlr3misc 0.1.0","title":"mlr3misc 0.1.0","text":"CRAN release: 2019-07-10 Initial release.","code":""}]