From 6e511b56f353b4530b8de954e9a4cbfc558e4903 Mon Sep 17 00:00:00 2001 From: Ben Straub Date: Thu, 4 Jan 2024 16:47:35 +0000 Subject: [PATCH] feat: #96 way back machine introduced --- posts/2023-12-18_admiral_1_0/admiral_1_0.qmd | 47 ++++++++++--------- posts/2023-12-18_admiral_1_0/wayback.png | Bin 0 -> 52835 bytes 2 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 posts/2023-12-18_admiral_1_0/wayback.png diff --git a/posts/2023-12-18_admiral_1_0/admiral_1_0.qmd b/posts/2023-12-18_admiral_1_0/admiral_1_0.qmd index 8d56777f..b089b646 100644 --- a/posts/2023-12-18_admiral_1_0/admiral_1_0.qmd +++ b/posts/2023-12-18_admiral_1_0/admiral_1_0.qmd @@ -3,7 +3,7 @@ title: "admiral 1.0.0" author: - name: Ben Straub description: "1.0.0 brings a commitment to stability, new features, a few bug fixes, argument alignment and onboarding resources!" -date: "2023-12-18" +date: "2023-01-04" # please do not use any non-default categories. # You can find the default categories in the repository README.md categories: [admiral, ADaMs] @@ -21,15 +21,20 @@ long_slug <- "2023-12-18_admiral_1_0" -[`admiral 1.0.0`](https://pharmaverse.github.io/admiral/index.html) is out on [CRAN](https://cran.r-project.org/web/packages/admiral/index.html). This brings several new features to your tool set -for working with ADaMs in R. `1.0.0` also brings needed stability to users who were wishing -to adopt [admiral](https://pharmaverse.github.io/admiral/index.html), but were a little worried by the fast deprecation and experimentation. +[`admiral 1.0.0`](https://pharmaverse.github.io/admiral/index.html) is out on [CRAN](https://cran.r-project.org/web/packages/admiral/index.html). This release brings several new features to your tool set +for working with ADaMs in R. [`admiral 1.0.0`](https://pharmaverse.github.io/admiral/index.html) also brings needed stability to users who were wishing +to adopt [admiral](https://pharmaverse.github.io/admiral/index.html), but were a little worried by the fast deprecation and experimentation for `pre-v1.0.0` releases. -This blog post will walk you discuss our commitment to stability, walk you through the new features available, discuss some of the bug fixes, a common API across our functions, and showcase the resources available to help you on-board to [admiral](https://pharmaverse.github.io/admiral/index.html). +This blog post will discuss our commitment to stability, walk you through the new features available, discuss some of the bug fixes, a push for common APIs across our functions, and showcase the resources available to help you on-board to [admiral](https://pharmaverse.github.io/admiral/index.html). # Commitment to Stability -admiral was born out of a conversation between Thomas Neitmann and Michael Rimler almost three years ago. Check out this [history blog post](https://pharmaverse.github.io/blog/posts/2023-10-10_pharmaverse_story/pharmaverse_story.html) for some of the play by play. During that time, we have worked at a furious pace to produce functions that can do almost all derivations needed for common ADaMs. However, we have noticed that some functions are very similar to others and have sought to consolidate to reduce the number of functions. Unfortunately, this creates a lot of deprecation and frustration for users. +`{admiral}` was born out of a conversation between Thomas Neitmann and Michael Rimler almost three years ago. Check out this [history blog post](https://pharmaverse.github.io/blog/posts/2023-10-10_pharmaverse_story/pharmaverse_story.html) for some of additional context on its development. Over the last three years, we have worked at a furious pace to produce functions that can do almost all derivations needed for common ADaMs. However, we have noticed that some functions are very similar to others and with some minor tweaks could be made redundant in favor of other functions. This has lead to some deprecation of either whole functions or arguments as we have sought to consolidate. Unfortunately, this creates a lot of frustration for users. + +Enter Superseded!! + +Now with the release of `1.0.0` we are going to _supersede_ functions going forward. This is the process where when we introduce new functions to replace other functions, we will no longer fast-deprecate the replaced functions. Now we will supersede them, i.e. we will keep the function in the codebase for a long time, but recommend the use of the new function. If the function were to be removed from the codebase this will be done many years from the time it is superseded. Please note, any superseded functions that have bugs identified will be fixed. + # New Features @@ -52,7 +57,7 @@ Let us make some dummy `ADSL` data and load up our packages. The goal here is to - the dataset to look at - a set of conditions - - what to set the values for the new variables. + - what to set the values for the new variables ```{r, message = FALSE, warning = FALSE} library(tibble) @@ -105,7 +110,7 @@ out the more detailed example in the [function documentation](https://pharmavers This function has some similarity to [derive_vars_extreme_event()](https://pharmaverse.github.io/admiral/reference/derive_vars_extreme_event.html), but now we are only looking at adding a single flag variable based on checking conditions across multiple datasets. -We develop some _simple_ dummy data for `ADSL`, `CM` and `PR`. Our goal is to flag patients who have `CMCAT = "ANTI-CANCER"` in the `CM` dataset or have records in the `PR` dataset. Any of participants who meet these condition will have our new variable `CANCTRFL` set as `Y`. +We develop some _simple_ dummy data for `ADSL`, `CM` and `PR`. Our goal is to flag patients who have `CMCAT = "ANTI-CANCER"` in the `CM` dataset or have records in the `PR` dataset. Any participants who meet these conditions will have our new variable `CANCTRFL` set as `"Y"`. ```{r, message = FALSE, warning = FALSE} adsl <- tribble( @@ -152,7 +157,8 @@ derive_var_merged_ef_msrc( ) ``` -Let's go! We searched over multiple datasets, `CM` and `PR` with multiple conditions and appended a new variable `CANCTRFL` to `ADSL` setting to "Y" if those conditions were met. + +Let's go! We searched over multiple datasets, `CM` and `PR`, with multiple conditions and appended a new variable `CANCTRFL` to `ADSL` setting to `"Y"` if those conditions were met. ## `derive_vars_computed()` @@ -207,7 +213,7 @@ Alright! Simple enough. We just took records from `ADVS`to help us calculate the ## Argument Alignment -A huge push was made for `1.0.0` to help align our arguments across all of admiral functions. What does this mean? We identified arguments in functions where the argument did the same things but was slightly named differently. For `1.0.0`, we really want users to have a solid API for admiral functions. +A huge push was made for `1.0.0` to help align our arguments across all of `{admiral}` functions. What does this mean? We identified arguments in functions where the argument did the same things but was slightly named differently. For `1.0.0`, we really want users to have a solid API for `{admiral}` functions. Let's take a peak at the function [`consolidate_metadata()`](https://pharmaverse.github.io/admiral/reference/consolidate_metadata.html) to even better understand our goal here. @@ -222,7 +228,7 @@ consolidate_metadata( ) ``` -In previous versions of admiral the `consolidate_metada()` function had the argument `check_keys`, which helps to check uniqueness. Other functions had a similar argument, but were called `check_unique`. Therefore, to better align our common API for admiral functions we decided to rename the `check_keys` argument to `check_unique`. You can follow the discussion around this renaming effort in this [issue](https://github.com/pharmaverse/admiral/issues/2184) +In previous versions of `{admiral}` the `consolidate_metada()` function had the argument `check_keys`, which helps to check uniqueness. Other functions had a similar argument, but were called `check_unique`. Therefore, to better align our common API for `{admiral}` functions we decided to rename the `check_keys` argument to `check_unique`. You can follow the discussion around this renaming effort in this [GitHub Issue](https://github.com/pharmaverse/admiral/issues/2184). ```{r, fig.align = 'center', echo=FALSE} knitr::include_graphics("check.png") @@ -244,23 +250,16 @@ knitr::include_graphics("issue_tag.png") ``` -For example, if you click through the issue for `derive_extreme_event()` that identified a problem where the `condition` was ignored if the `mode` argument was used, you can see the Bug Report along with a reproducible example. You can also see the Pull Request for the exact code changes that are addressing this bug! Way cool! - - - - -Enter Superseded!! - -Now with the release of `1.0.0` we are going to _superseded_ functions going forward. This is the process where when we introduce new functions to replace other functions, we will no longer deprecate the replaced functions. Now we will supersede them, i.e. we will keep the function in the codebase for a long time, but recommend the use of the new function. If the function were to be removed from the codebase this will be done many years from the time it is superseded. Please note, that superseded functions that have bugs identified will be fixed. +For example, if you click through the issue for [`derive_extreme_event()`](https://github.com/pharmaverse/admiral/issues/2291) that identified a problem where the `condition` was ignored if the `mode` argument was used, you can see the Bug Report along with a reproducible example. You can also see the Pull Request for the exact code changes that are addressing this bug linked in the Issue! Way cool! # New On-boarding Resources -admiral has a lot of functions for working with ADaMs. This can be overwhelming for new users and we really sympathize. To help new users onboarding to using admiral we have developed to resources: +`{admiral}` has a lot of functions for working with ADaMs. This can be overwhelming for new users and we really sympathize. To help new users onboarding to `{admiral}` we have developed the following resources: ## [admiraldiscovery](https://pharmaverse.github.io/admiraldiscovery/index.html) -This is a dedicated website that lists out in a tabular format standard ADaM datsets and their common variables with corresponding admiral functions that could be used to create the variables. Very handy when you just want to get some starter code on deriving `EOSDT` or `TRTSDT`! +This is a dedicated website that lists out in a tabular format standard ADaM datsets and their common variables with corresponding `{admiral}` functions that could be used to create the variables. Very handy when you just want to get some starter code on deriving `EOSDT` or `TRTSDT`! ```{r, fig.align = 'center', echo=FALSE} @@ -276,9 +275,13 @@ Inspired by other R package cheat sheets! We try and surface commonly needed fun knitr::include_graphics("cheatsheet.png") ``` -## Way back machine +## Way Back Machine +Studies can last a long time. Adopting R as your primary analysis language for your study can introduce certain risks around package dependencies. Fixing those dependencies to certain package versions can help mitigate those risks. Unfortunately, as package websites are updated those helpful documents, examples and vignettes can be lost as the version changes. Do not lose heart `{admiral}` users. If you decided to fix to a certain version of `{admiral}`, we have you covered with our __Way Back Machine__ that allows you to change the website documentation back to the version you are using. +```{r, fig.align = 'center', echo=FALSE} +knitr::include_graphics("wayback.png") +``` diff --git a/posts/2023-12-18_admiral_1_0/wayback.png b/posts/2023-12-18_admiral_1_0/wayback.png new file mode 100644 index 0000000000000000000000000000000000000000..56dcd308dbb2a4ff3fbb8c88c9a11c99dbf481c3 GIT binary patch literal 52835 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�^ z8`7N%g;Iwv*G~*T6Hp?d-CN@IH068QAJ%Hbf}Jg!Z^uqTOCvXc+)T(^S@{vSqxvz~ zpd}B9lsPGiJ#XqDp%r{mENOZz2Hc8m`gEXJ_aOV%o1P9a`bgD^!4;E5soY9`K0?x! z1Jq}8oXAAyDc(O8jNTpN-R=;qIn%99G3?GRpWV=+a4+s1)_6Nq?f;qB6lEffGc5MQ zx^||)RzTs)^683c+sw4-x)U?Mce>4(?k8Rf&_V&eW8G$fMceCM_SRKxY==3LWqV@2 zg4yG0?IL<^*Bzhh;L#h=T#IvjnZ3Q`!c?BQVPBZ&6?*mZ$+TP-fgdtEwcLHT`+WNM z+Uai0@_k=EfMQAi@}R}fk!FFS@bH))eKOwse4fB^E>j#yDgEL8h2`K9D~ zm&}M>@q7V|uBB3u)@(?xNe4}^drcU>?U8{ih1%IsE#@Nds_%mg6rZ4RE?d?uep)GSIJ9UR7U zL}{4b@r;p$h%QG*hqjG2*TxjP&*!*^S>_FOSa+z30ZMJ9*YR_f1pY*(vHo!kP1nes zqsYhUMgx}q(q~?X!+aWtDcwl=vBsMAt+pasR~_^;*JlGxc-DdNq_U`i$5m6>VKmhn zrv|5#fNV3`>p$OB!MX$77O;zanAAb+zeOE~iwAXEwRQMoCAtdC7Br@#hJT)T{P2p7 zr2Nt9Ue|Xzt#qx^@2rWGIBaz_KAH;EvTXUnGj&&De}3;>=~YY$5HE7g@6Yas3Zef| z965{WS9ac5e|Ed5w1*Iie*T#1)rFp|#MjJQYXc;N&m$p5d~V}JYufgy8pfNsp=V0C z{^V9ntJ*r_BgE`brlVl(5fxnGnIqXgt&X(g7yeeVEJul4%G=Mn$_X`m9WA||%W!nC z!I!WJ?#Pr9FOE=MQ7mzyX-MgpSciJ{zuKpbopVEjNqabbdkFq|NAjBw<`oRYFPl_; z_>C2F#Pgx#|CPV|#18reKInVCkQ?gLFC0#0N#33KR_=}dmKeiE-aYYzl+~7t%Fv_2 zoC8n0jpLn0p?IhfqwA)xmq-4}CkMk$g1qHu%O{$!taP5qx?pJ`uc0K(m{{=yup%rA zxG~BSQYq>$=fYP%6lain7!SDE_e(!Zxb7bqG`3l!R$Eri5$$s5Mi$qDyU037?9is~z$zVDlFdNRlT*4hsB%%ZC}KqaNq1>G=gc9VvaTii#U zgD=suu^9CgJq~$#+#c<$yPV7h9`J7Bp(ZR~iHlK3h46Ll>}J??(#|5mj5IrVFQ+O` zuDADK&sYh(EV7$98)h*_z0&MA*mzQ2HB`Ugt38KoL8EnF&!csYQee!rt9_Umzf-5t zWTk&!ngHv$z4dFcbEuS0A1t)e|3|is)_HI;vm!EN)QZmkj_Zh*D)cl*Q8#lxZHgOJ z1UgZ#grOP*3lsQia%N^Q3(cZw#C+YChMcffzs_`L?{@L;l)UA~s1os}z_z#jh)*VF ztLJ6O4)!bZOvNf-*c)>)N6X5v*^`)Koes>TJM*o(DN`7f6{ zxK~QzBdXsTxJ9)|!Xt1;6zOst`te}*$7CmY<(+G-0R(u-uXNP37kfTYQw=Z1YVne4 zPek28R423E6?NT97biJ8M(F(%2IW#xA5opHHecR(C1>{+ZWo2vnAc*MN56brg zM;C(mgR5>?|Wt+KfCSiT;apByBoCs4hzbwPklX2Tdt3m%14 z)|D6#5U|R^|JsVV(ozs@{pH)XpX{62b>u1;pQhsyOPNj{{?s6AT z*6AynxR)P%6)u(!8IARTImzDjAKY<#AmA{sxBGR}alE0th>E-Hsai!{foWP{+$&oXisIaFF!m=HZqv6nVV4|4H4o>UgtSEC(LcCEa~~Q%t16N zR9;$SE>b>mx*my-7dl&ym~B^$k&)x$i|2;2xVn_k6owoR`)BY^rg$;NYo)LD5gsxO zN+s*e@vAl1&h!Bb^prEv(hKFQ3;j6hd=YKRi+dmqW3(9mQm$u@2|!GQSUsZf0g$G9{_Xy`B8Gwr5@h)H;j(!!0rh|Xmkt00Oc%R+#J1KYe*Hfg?H`{<$E8@=UMG`x zy6lutWGJwPB|r^ZA0NV1FXH zw4VZJv61vd%`>7__;Oa8f2iZm*$6+XmW_@;6m?Dm`X|El?Jj&lr&?gZOt0&ba$w}O zJG&|E#}Ce0hS6=tXR=wk^&3kumA{*z_vM_nT=pgkbEGns?zTL*0Vx#rM09X=U!)mq zZSSx5I$Za%FEE~>jD%lsEOb_)^ zm;E?)o>8X=!93X{@{^nKKu22rPKe)Wh46XRRbxhtGqXp+!4$JY#JJh37GB@=#vFL1 zA!FRA&#MvTgrY08&%=CWp8H=r&1}QdyeMA)FJhr#2bVQE9dTy9 zIX@lHcbtJiCoX+Xl+f-A_k;CV{1EYt7d5rUPVNVWQc^9QgpGLmVv6ee<%Cb6P(CK8YB#nT`=E|o=E|JR)aD$lAGt-n|l z7h!0i(L52=c-yIXs&EJaiFqUp^z*{G_94 zv~aBincjF_Of1}n2~G7>I(2ZcrMYMWTU`2Q7l?I!6}C6qIWr9KCJGr!USsba7&tW* zTv_Z((b6dd1L8M)+U(7@t~azg%|YY$#ilm8Ie)G*+d?}}1@=1<{RW2o8XVP1au=IH z#S&k?{p)-^ZP`9;xW1G7;zE1NAG=dB8XLp0iyomCg&-Qs+^=MSJqW1lHHGq zNo2%#;@lsz{vL|zR^+Y~@OF;3pf3i2Wlow@-XqPRPgusKC+ z&&8~9uTZ#gb~{H{_13z_k{3P3Y<(S*j5(0(m5mOeI_#Mro9y$=7T@v`h~q7WEF4zP zZ>H%|P=?Zy{(9yWb04pIu145g(vUibdD`IU(;=inV1Ro(0rrF2DVA9T{4df;ziQ#D z4TXnIRo!<84QA<1+~O_+WD}{&m~UkcH)ee1%iAu^`nE`S9rGEkh$*GlP+k3tj@^V> zxg(hGk7eZqZpJRlFbKuT%3&@X8L?AY6!1d(*J$j`hCGh%#=1_Gq3pcxopMf2ji|;SJF!vk!;Z>cGiXDtiu zx&imfhQI-u`Vrq18&yn99w+gqAJ7TE27dn6`h)+uNBakS5F2Rt{)jK}_qI0=ZlriU z;vDCS;T=lMZl3g48C8DvflCrmStzl}ao>1SVQi=a~K zWtezfX)P^bSAH7M=7t`w+1hIQ7IMrr_xesRX30&`{)vfHET>S^X_2fAK1AFCjQvjC za=9(FZ|uTp>O~(&o(@mqYy6f*LSWNFb$LkOOGn3!y$tGHozc|HJ6@YD=g&^7;fn?~ z^$2vPWH)iq6e@Oui?P`Hvqmk7KfyDc{HX5W3`z}`%0Bzz)qj!0l_hCW%wYXN67wQu z<1!&4)c!{e++@pR7hfI;#~b|}mqO1>rjz++!o-l_)HW@SYVPTmr{E#Q&E|1Ns4@%H zZdq<0*;vk28@$x#z{pu#>tB5UYpx3B)hi8&QuM^`4IkQD4)>;}$SliP_OJ*OT0hv6Q*%zn5I!&Rlohb8%qyxc$yG z2D0Mw)aA6agMPQZ&LrXLI*m1M4N4F8i3HUdxAw_>#tXny38G1j2^=b4B8E!;FNWWD zU))?`FPs1OVI0Gu?)mupg#;Xzqe2< z9yGBAo4c4@Z$5zKW4wFMqsz1d>q9tWqb#O)`>r_Rf1F+X1Ge~|meKs(XI`c|Eu>}w zBX+x|bgzA^3_r2=zI|E%H8a*8@isdkgpSXR!W#}9XPK>07pO6*van#9u=?FFn?nHy zYerJhk-CUy#v7GNccl_yYicg><+xmv-Dr`8PC@1hOS1bs z$v+%1?e?F*Xl^Co9l!V8 z(6Gr5rp3&u(wba$(|UaPBXO?~g!AXvWxc};K9YD_P#cb(V$^&)6|EtBQi||YAF-R< zV8$Y$d-m&%+T?Ea(%ObKDT&z3Bm%yz{PNmb(wR}61 z!97~xxsvRcZpI?pTj=GGZg=4KR@lyi@qJ>QG#Xdc4g+#vvFrSo7F*i7t>$PlkATnr zMvli^W_9Z!tl&u_tp=2K0d@8|gDPrxngI9T-hRP&gR5lPueIA;)O;)f1%F6AQDMr# z!BkVdj7_Jkpb&q`$K?jGKW#-ow%ixB#ubpnu|h1XgeY}+%zVBx#1xX;6`knST=qTs zeT=_7Lu5r$YD&y*h&x7ngIWDAsMVJK0Qkalt-k|K;jjHYaLNINe<5?Zz#oa!gGJK5 z7_=S{KydC;+@gZkxl47py4Ydt$a5^TfR`3^=?tV`+O+p%FZumQ9l(KT1w&5+yNh*a*qh`-SBkQH0D5#yW}l= zKakJ7KGnu%8b73@b~eyelXnenvXU<^#KYruJm^lTtIo!|wrVzuXj+_ajVb4veM1?# zZRT}RVrCzZ&M!Y){DRWe4Z5Ru+U&#+^fGUl=u(pOMms$(s}kQCB9llE2ZmlQ=O+ws z0|;^p)(EQ^m@xn=^p$a;>mg>PNILhYzJY&WojeV|WK&rGJP_#bn#_OYFaL2g$THp$ zw0jIgloQXmrh7_o)I^lb3RhUWyR+CW)c3-o#M!}0y;C>)N01-m;KPd&V^nzZk=g0n zHh(_6%}KGQf zh7E>h3HmQBGuN}GD7r4PX0`6;^5qTVgEdk%1s142L0k#=_dBh)L>BS+4QLmu31dyT z<6lDRpbT)N6v$`ne^qyQ_}iAp=A=cwDB#6S+=oUk-y54N%|4Geb5eH=+Te;J77yxA z{bFFXfXfTVtcKoE_o$UYHEvMs$ot_U?z0RL$x@4cGczqmhh8GNywp^V11C$w<|5`0 z(Yt2s3cN661JXv)Z~mevjDOen7P{-&zqF z29f(;LgPC-N0@I_VgJ{r)hGRLrWI5Dz)F!)F;uw8$*s)gH_Yy@Yr#((f2U#zej-X& zBgCC3i0EEu0aBoc?vH4pI@Uav>NT@mMEGj)79cNmn%*KVr2mD9O4uJ_44YkXYJr`yx zzoT`I+ZfR7P_dy9iO9JK&zz09$ep7G^!A?PTw`#s@>0+3wVr*;z2@}J+WzJjrDeyx z+sEuJ&Ymf5=z(ch=S2R&fgzVX*qJMxm0 z)!#r2?COd(q+GV?><^(G3dVN=#ptypr5`mBxbRg%?Ou$P!s@YP=ln~(7nGSJO3b!0 z0?t|7T;z2*;?j#zzx!zSFELJN&ml6>>&$p0@=$ZhlTl>#{ChKV(~9*^$vnODc`kz% zQf6sZdg%A?qva81O0s~_a7X9v^`qtX&``ffI?o5qe(9ynW^}KU=`C&=KKoS=jx>X*sTt&*O((`%$nB)H*BvGt0`ZKJ(-7(AV z(`7x&#$1kHH_J;utq`WA2@!8LKo27g4 z9FZd&f>-vVCjFF72R*Ttwm`K9%U9JsH#iYr`>{lKfq?z$FP|w~w=J{&!mHhjAF`>t ze3yI7!@0NO6AIq6c9&MB7M%k{fHJo7;k-XBO5Pyhus&yFL*Qep;IN z;VTj8oZ=g9WV(|uvt#PFb1rmvkyd@M&ErgaaEfqI{4tpbKxSvu+SlR;2gs}M5<-oxxf*?WecCh~E&4IxH^zUM#w tXVoqLl~L)x6qEkf;2{6)