From b6cc8590bd517e76041930047df6434212842ff8 Mon Sep 17 00:00:00 2001 From: olivroy Date: Thu, 2 Jan 2025 12:10:33 -0500 Subject: [PATCH 1/6] Rename logo to logo.png to be shown on all pages + set primary color + call pkgdown::build_favicons() --- README.md | 2 +- _pkgdown.yml | 3 +- man/figures/{labelled.png => logo.png} | Bin man/figures/{labelled.svg => logo.svg} | 0 pkgdown/favicon/apple-touch-icon.png | Bin 0 -> 6534 bytes pkgdown/favicon/favicon-96x96.png | Bin 0 -> 3495 bytes pkgdown/favicon/favicon.ico | Bin 0 -> 15086 bytes pkgdown/favicon/favicon.svg | 48 +++++++++++++++++++ pkgdown/favicon/site.webmanifest | 21 ++++++++ pkgdown/favicon/web-app-manifest-192x192.png | Bin 0 -> 7267 bytes pkgdown/favicon/web-app-manifest-512x512.png | Bin 0 -> 23926 bytes 11 files changed, 71 insertions(+), 3 deletions(-) rename man/figures/{labelled.png => logo.png} (100%) rename man/figures/{labelled.svg => logo.svg} (100%) create mode 100644 pkgdown/favicon/apple-touch-icon.png create mode 100644 pkgdown/favicon/favicon-96x96.png create mode 100644 pkgdown/favicon/favicon.ico create mode 100644 pkgdown/favicon/favicon.svg create mode 100644 pkgdown/favicon/site.webmanifest create mode 100644 pkgdown/favicon/web-app-manifest-192x192.png create mode 100644 pkgdown/favicon/web-app-manifest-512x512.png diff --git a/README.md b/README.md index bc7e85ce..679563be 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# labelled +# labelled diff --git a/_pkgdown.yml b/_pkgdown.yml index a947bab7..9d39d6ef 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -4,6 +4,7 @@ template: bslib: base_font: {google: {family: "Source Sans Pro", wght: [400, 600], ital: [0, 1]}} code_font: {google: "Source Code Pro"} + primary: "#14497f" font_scale: 1.2 destination: docs @@ -63,5 +64,3 @@ reference: - title: Internal datasets for testing contents: - spss_file - - diff --git a/man/figures/labelled.png b/man/figures/logo.png similarity index 100% rename from man/figures/labelled.png rename to man/figures/logo.png diff --git a/man/figures/labelled.svg b/man/figures/logo.svg similarity index 100% rename from man/figures/labelled.svg rename to man/figures/logo.svg diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..71ccc20bf84bf4c2e6c475fb25809c279da4ab79 GIT binary patch literal 6534 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 literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon-96x96.png b/pkgdown/favicon/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..195d465db9a5045f1733f98697f2c89906633bca GIT binary patch literal 3495 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 V4gi=y!-xO?002ovPDHLkV1iBhpX>kt literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1f400288b31b22675b594743f146ec7e1223f33a GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon.svg b/pkgdown/favicon/favicon.svg new file mode 100644 index 00000000..2ca09a30 --- /dev/null +++ b/pkgdown/favicon/favicon.svg @@ -0,0 +1,48 @@ + + + + + image/svg+xml + + RStudio_Hex 2016 v7 outlines + + + + + + + + + + + + + + + + + RStudio_Hex 2016 v7 outlines + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pkgdown/favicon/site.webmanifest b/pkgdown/favicon/site.webmanifest new file mode 100644 index 00000000..4ebda26b --- /dev/null +++ b/pkgdown/favicon/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/pkgdown/favicon/web-app-manifest-192x192.png b/pkgdown/favicon/web-app-manifest-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..43776e96b5c9ec6732662d8eb098af13729d351b GIT binary patch literal 7267 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 literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/web-app-manifest-512x512.png b/pkgdown/favicon/web-app-manifest-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..481b5708acbeb85a12c2c614aab48c48c14baef6 GIT binary patch literal 23926 zcmeFZXIK+m7dAQxfzUw^=>(;yfD{1%X+cn_0#X#|q97o>6G|wGs0gAU(v^-ND7|+O zsZyl(5_<1R$T#tQeBSq*|L4cKuJ4BeGkexvd+oJXy=TI8?%bxKWTONCfJRMKOIT`q4&wJnm{6XQYYUBn0RE)%b5FkF01pv4KH5Da&@5FUeia4gh82&NMtKvp$ zxkF4JUaPr(*Shv@1;{uhHZ~z4bPs0H%TE=4=Hk!wouy}g66+=t%oZGPLOYy$G*J8V ziE-NNXf^}Cp9|_z4v;A-GK56O5J)e($ED2!_!0j3r;_4;5LQp<5zNhpqtIZnSTIJn zPnp%>3td_ChCu%@<>BU5pf-zNZ)g=W4<4BPWZdm1WCnA#<@oX5#=r$Tsl`Y*V`ws} zvHaNRV3R6@j&=^@2WK7gZsyG<(0f6mLxw$wDoEojyi+N+d~N~WftQIUSl&prLL|~n z2Y41X`K20lcd06(RnK~K2WXY89Tq-0Q?BA%Uu@u#6|liom(m<~REmuFnK;UfAt_Jc zTZ^JwBk|49Yvf#oq*6$9utq$4X~7pn@=^GnV4A5o7Ux41#I-R30m%oJ=1BDiRA`mC znBSm;Hm44=?J-Wc9%Kf%TtIGawC#7E# zqXr}0NR2Y`t{)<9K0;LF8}dmC1Zsi5cO~=*6j@T20G&>{NoNNyQasuaKevW2&b@~?=jMo zP~SI4(&fG}-wi>kyZEUcbW}dBYpNl)SRTP-3Hr3~;o55r&LbV33EGX|Ni{-1p;gKp z@oty^>GbgnCaraVMfhRRGRM=Yu{TyJirQy-dkycS2^Qf8LDr*mt{5oy!RzV}`IqjIvHraDrZ zNzOo@2zGYos3h3-%ym;B)tw(=ei8CMc4ODl!}w5|1?XnZY|FJmAb@Z9=eoHwhK!rE zzC94~O5Vk~>fZ9pkf&3EgQLHW(Wgs@`tFL*kG9$~-89JAPYPMa2Vd46g=IKuI`vUo zg&kLX5FNutd@X5nvmxhh=oMW3NlMQd3qwe(?OrS#-@HxkzBZTaV-d(zIE+OWt=X5m z!J;glWY$C_%ooOCxnGFYsENPkT*N%S(0Mw)YIwjt?gLfj-uu~5H-AxDs9PZwi;F%u zex-q`;$OrTe?iE067npz_kyftKDc2hxr2JOu>6j$O%GQ>qT2S(dD3f7LR5B`T4|}K z9jLX65)Ir9U&)#S6pbzhJawNFx~;*nvkM`r;8;HCanQ;CWWQRQ9brUn$OnpCfYU{#vtWP3_Mh_l}P}T6Xv4{J5<(or2cATT0Gn z?m}2(JG(cf^Ik@GRqFOQ~;$P(!+Fm*cMS)kY$hwuXN3)L-J z)^SLLs-LXm)L6bs=)SDYPk7EOt^Yi(cHK_YGY-Z1LK2H~8ETkX=tdx4zx}qBvdhTI z-v!?|^+u^-=Zbp*4RU*AmLC7YpBBa))#t5uB`Kp>l%>{%WWy~V`f+cB`Wd$}?%Z{{ zKJ5o!ufKg5zaZEBXGqZ+rb3OHv9I=CAE%ExZiCb3l|n`Se`s_lq{w~%#8h;jnMOQI zn4G>z(G~T+SA7LL-w{xhkxb%lWB%GgU_E2+yHJ(6g(i3~Q59|!^vX-I;>@qEJqvnu zaGaBVW#OkW$Hj&41n>KElVQGSqhR55A z%ywT!zD`XzkP~X0C;P1V?25al6WfC^N={i0i`7SQLWn1^_~mWB5fL{G6F2SBwG9mk zt(OVKh0cD+drc~m1-4VNNlgv{WH0Rm*IpLh!81JY4_dZ%Fy0t|HUl@A4hWVFylyGx z`qUX9*hVQYc57BCdO1QK0$s&~?mLF}3x`f%HMV^Uir|0wByt!Y z0r5sM!Hn-$-w~DS%*HrKG5&GSG{2xw&^qed&{|r)b4ip(^R~CvCn|QSxLGcGa^ZU_7uFW|1@h2hCBdVI0iIJF zJrWcS&m#KFgxj{{=Grl@AA8Mqi=izZ-9g~Q9itm5S^EXk$9rTlrEGtTdfxw8q=gJ? zEsi%DOOR~?fitJI!SMhx>N*lMsjWTzsz1~1z%4KUtAdwb(O%XnzGbu8ztn{aQg?b{;d<=|i zzhbK{X}4DFNwNVx^=jFWN~u|HUxG0Amna;*WKpkQyC>h0NLN2>xxD>lY43cS3x*YW z$-QIbra^weJ+MAxA>4k|}_7Qmy?C4gXN!5I zS=H`9`l=Zrt1S5B)P}oPqT}12$K#Dqv{EwtPg%&C2-FO=EMzSNYS>5Xk$2@p;&IR) zMciVvv5J>67yZzw-pKq_FsBj-$#IA^N$U6PQh&FXK}=h=XIsz_j$bawT0B zSq@IPL`MMEW%?)33D?#_c(y)E>)wuHh`VuSfK0{{7P; zx`^c%xBP-~lF`G=k)^J&DEG1SbXmuQQ2e--4NV`S7go8Txk#(3R-#!kAXXzi(bGjE zhUZsFqFc&vf6Ym|U}T?J1X-qg0tMaZBCSfexZZG_*(jzh&Md%;yqJ0)l>E%uI6MWB zRJ^U?5AE*IKTMI_KOG`l_Cu5-Yttn{7N950Jk42EZnr7I^*@H`2!9&M)lGa+f zr+Pwx(){3AmxSmw=C{zGrc|SYhp?Z}bB4!&E*5u7_PWmClmpEx3?+isdd(SY_Ej2^ zMdhuQ^YfIw58=$>-tR;GDmUt&=IX(*SSEA3!nVUR+coFgcDnN9H@H(Mk;K^MgoHN4 z`Z}Ewa76VIPNzj-m)rL(vabVv;nEFQsGMi{gE#c`pA73BIwJ1=kxHk^^lMw=K~MP@ zGfyT4MTS84^)Gx$bWeu*Cvxj|d+=)#{Ugu!;1WTOqk4sCSD{qb94lYlgXeT{t+Zu~ z`jAy;RsjncQZ)YjAJHs~zvdooWREmjHM{v4?;+OE&Dn4Ksu{lBRL8{c;-GKgAVKI{ z^NKn}^Y>oC`oj9Xs~0T1DFwJ@e+%SVeG}~}HotvB5|5NxpBbNjFO_+(Pr-(6&5d%J zROqm>;h3dD?w2O^X1XFV+B=0y$?(OMzw3T7)zM9H|Ayla{przEM;W)bMCy5!ikY&# z6jiGxHCaxfUQc&dN*!axilg~P;Y-n%+gFI3UAmft zpy0O2#U@#4iYQ*RIR90uv)ux7uhrG=5930pvr;lV;+k@EfnzAm6(vg@U!GPBY_q>B%R2|gDyXJl)2~3D5lw=KU^NnJ1tW`O|r>RZ!rEt1^u{S zNN}~bEh!8j1C4&!BdPPtB3~%fu#=$px~T3~(=K~1@nqZGOM5B1uVFUWT|DHUX1~6z z+ITtGTE=EIvnVCW&-RJ(gO>+2wncg;ns;r6?&w`il#j+&HBYFN&M90mvI>*zFfuTi zVHx+Kcmdpu@yJ@qEJ{dlR|~Ydl<{?%z-mB-(SfJq_h(`+^*aqNyuP576tfqX%H@0FF~~7_YVl6s zYn~P1jhd(nPX#;ZZyv1`+KPzXVLdGv_n{<*v@msRd-P8>-ua$7MH#xjdvSk2bj=y@ zNPw<(yT`Qj0jG58gO>J*i!b)3q^f8=>&AM7*_uvGarZM#?w1sR*3fZ(xM);givW#w z4%X4PMtn)=eh}bFdKRcu9b;Y#7puAaEyc_`iOqcsT5?ho@l!CsV_EC!Z>@|ue%vV| zCiixVzp}$v#TY(-*CMk!u$>7uJ|#AZ@%I&|=@?uKxI6&HSv^TbXtcBbU{ry9Y)xW< ze#4vPn7bQ_12RHqejDVY zMN3TkGmGo_0Yj5kh?fXDQBP^1x`W#cZ)Dzxvs*#~yNOx~k1_tTKabqYw@Z&P}VrS*KFpp*M@YpO^^<{fio zd&J~jg6F!B$4ueJmCm)KpVhOpgP#t&96#beOtfCJC+rTfPt@u8EIir|8?{~eY$-m` z^NCmS@y4qSqohnkhY?|txu|%UiLE)@ z7(@Ix%(VH@RluEzQU@a8*>+`39XFAC^tB9q z=`&-TsKa8;9OeeTMm00>%x#$GW-1c(^O2eNr7-k@XoKaK6!XZ zL$4~l^tyg$5K)e~yo75yJoUaJdw73Va|9?mE8?_P$Vk;MWaFD~ZN*Ks5xQNH`}D2# zXhEBuk|DKzOK|I6!0%eAk%d!&G=|M%F3+YgB}J#YD4@u9Iw!_%>wTNS(3eaVSH|<# zo|8Q!J=QKtgp60vN;4Sr*MWhB^4hD8!?;O1*4X0M;48u|r)=Z+!#l}vqhO%7w5!Z8+rZeAPh zJ=I9114vEZF=uok_mf!h=oFU8PR{;UpSa#)@nw>86IY$-hriiJ`mQI@O`zuV4Kr7L zn5k=Sd(`3#4=YC_yAc_u_&m$xT4t@zw7?<%P7=G$&a8n%nnK!Thx_^dwG6vu`&9pFp{9Kp?BZK`ziiD5 z7L`ic#KoRP$dMQFc)3f$Mysrr=MYIzOUHDV{Xr#(Hma}qCij_v<;atny4nq%d+&8@ z{YR}tsxCYp9=Pe)gX6N|a%Mbay*HI}9gjb^pRnSx0i}OkDbXVN8>xN9EjFTj{gzt6smK#_5@48)eyjAx8^?_^d zhpSGPN8nd8-T1xKHJQMG{iZO>coCDOyH2N|wTRJj?abndCIfsh&8CVIYKxHlDU6bM zwt0HdTu*BJu(lt%lrxq+_9YcUn#q^dS!@M~&{`OV+qEdZ zYw8YKzG-lf0!Gfa)a#=`Yf#%?8Z0glhEX4Vk6T`^tO(SGPb>)s)ZQawuN&+Skc-IA zFxyq#!;Pa!IS8Wp`X$o|ugdivU-)EnAjxn}Y|)`Z@(W?!kWqYnqHNROt*9|*BUNv< z8!jOk)y<%Dd|G$vN>YWe*iw=JE2xt-HPqw9$U))%}252$P zpH5hAK~@bfl`x$XZ!cc7Ft&W>5WOteW)Oi>@AVOlNtNl0e;in^wh-n`OwGu$^t(ap}> zD=;Y`&z7y9{k?9&*kU2*4%tq-!9Z^Q>AdnRIJScoA0tYsWt{7k@hO_U-??=!n> z-p7L*xsTj1{r6{%qSrnwbKjh|W3uwKaT8S!%_qBZU+NUl)ZU0$cQ#LA1XG7(jfFU~ zwOwZ1)8%?Ix76)2ck{XuS-gZYT3!@pwij45Jzl|X|ftyE2CgDF) zVx-Pg-)>{JBu8ud7_zP}tnI!d|D+st=@5=hjFho@FR8R z9|}^$pv#X1)&fSptd$I0LQI$X&hx9j3*qG_Tu@IimBX2t8vvE(>+wn8Nt32eBN<;uF<i7Eq(m$)m{S*KDjdzE z+^XR5uL-_Rp{{z`^VP3xMphR)o3m?v7c|1LC%=xI$nKI)JfYk`rKW9a;J>( zLRkSQO+omqE}t3eU5LC46ghcH8xhg05XeE|m)WQ5rFi-h(|of1n=`j~NaYtew+{QG zc%Q9Em&j}ac1&w6094VZ_GSmeGcn^nhC+KgkS{lrww|tHLoaHk(!JTZeqVlTK)t8k zeYe!~tv)nZ{j_UlBC<4B7IWoZAgfObiYpk)3Z7_H8SaD3;d-fx-Msr}KOBs=AmV~QH^@eqIb5$BeKs6Vm_P-y(j01fkPA(uhun2fqz^h#!; zqJW}D5ARZ`3-!*EULL)e@@?y}xjgiHS?4SN9Yuz!!!^BE=4NS$?Nk%$VJ?-g1*1SS zD?v-Xe9jo8z)YlI2+;`^tFe_~M8YvRi-YKxpa`19JEvD1e8#cOUsjskMA<$jq!dOC zDehLsJtPM#p{ePuH8+9}YL+P#YFZVRYALX+oPKsG#ta{D>>-X!NZ6K}`2M*AYNmd} z774LZ-jmWsdLS4EfHg7M;o?pIq6bx$uQ0F*uc-jZrz@YUE6D zc3?viLid?f*3Tz>my{cTk)vntzFxkGmS=$lI8R|Jygk*V;?yN$bnlB9g{x1jun~7>YSN-UpMI<7d8sDGu2arI+5CQdbhP0 z$g4v!jo}kgM-0Q+dtyRS3IG(X3`o3QZYfcK#l(ix7YNt1`(yV*z+5CFAYeOAg^%Ei zgmF`3iI@$4dc*k~cyS-lvAq~_Py-gv{7y(s#QncvSfQZ~vR+>T7#BG_lY}?g>$rw# zr!l;*8{kX>hUIiHqzNg~B?q(pTJ$KD0)D3oXINr4(N_D8k5fofeWw7f0z6cCV5QRP zpn)(kw$uk2&jIfF1&pnGt|E!N!`}>)2eYd_lxGoYf=`7#CN$W%p-0E$bGu5Jj3rFM ze#QWl`zb_cl#zav?dVk9B=jN43ZCQDMQgoKST)%N7h3PcD)W% zev)+R7r3E?0ex(W)Z}RAAWA^7-7+6LJ-@*?@X|{`-VuVgbDTD-KqtF%CmF0g$QFEr4%nk_oy9Ke(es16bM-MW()`2SYzl7G1&q5* z&Va!yIsx%uk$=ETaWt1$tnu}2dEn8H@42-5QZ`dW5+TD^`tXttbM5C8D{(q%OHG)6#(1HqCF zAOQ=P43YY?@i@?lMvBoLu}O`yEuGAOC!ehrVaiOsqW+McI9`Yv%I%3H1*oLLolfcG zO1@jx_bxg#aEu#+r|J44|H-YrzgU3I^E6X#+a0dC0PF=2u+bR29|UeG3|Req^;`B_ zERF)q<+5hPZ{IOa9I|;jTx@#9-(kX%kdN7?yXLpS#E7|Mizcu4)ruw;;|5n*u15aq z-cD8@j>0DL>5<7w#wN4-m8hRMiTBwqIf0XIU)U86>qIJ))L<&W@27Vk#zG(fq+aXB zeZOeMpj#wTr{k@usMDb?zn@xLS4zlh?fT?AOa^H2c7=o!oYbv}_s=#0vu+{z;HmAQ`+=n%ZCUEqK^1&H$JX@sfXu$bQH*(RI3CHgC5p`#ngN2ppKdXu?-b}E z97ZO$HirVrGiG{-Nwk14DC_HQtT@E~ku}vM+|sKL>(F)dJVg@K{0pnA7fi(WZCaj7^f2HpucM z;fQg6j_MW$_ol9LFSAJQXJ(B)h@uC>L6cT13-*!2fl^&o6#(6_YLGSyTncvJG z)nrNHm+b4YZW(wd1E+@_@0&f8om-I|Y%})aIB?o9uKqmJlf%PJ5iSkA0N7s_7VAO- zXkeQEypT5{aoqpLQux=g7g$>R(IVTi?xxek$t46>Fg1`r2^h@SbjSru0gml~4OC8& z$9WzIM*~G%fA;g9D&IaiCL53^)3)0%*1rG@B zxW$U?6#vT<{^g>%&+VHO4BP~k!xsXZUR5iyr@xvU`OZ>;y5Q8l{qMp!5c-kH`Jd}c z#FORLFn1a1aGAFUR#z45wx@*5@j;dI@kWkq_0KKbeUsv^9^Pc)%g$3gRd{HD2+J~K_i@|}ZKDa$uwY~?Ol zb-vhc#I0QDg7k)UuP8f*V_S&Skcl zmBVWSm)ldG?#XLF2_M1Zu-f-9>F?R}R+ui=(01C{%hXQ7JvcFwxD)4irq?7W`>o({ ze<>{dqbR6c`@)we{}m>NB)+ljnQ7HwCH#b#wy}xtUiN76*Zxw42)rp@^e}0($Vsuo z>t_tE{rS|sO7;{4R17oq&VTi~2Tm*(mp&4tDej8;qC8V?jJdsIYUb;Px3r1`12Y&B zstZOXS-(mjFg?nUKf_JWy|Y-~H}pHFSo!WB#~7{PWg<@W2ShzHL4=z2#nOg@4i;P+ zfgYeB69Dc{k3+-Q#?zUi-v!EZL+N?SABOy~eO|%A&sIa6JUR0eY$ZHIuDnqGLva=W zX9WkGD}@Cydc5OwY`%OvL~;Qgn3Uf2$Harik7^2zzxZ61>psJ59BviVF>e48#hnU8 zlU`Ap?u|;8;O_pz18$Y?ighX!_+$Hy6jH_o1BFo;PHpJhRFVJSEQMImrjZbh8wB^~~4(0Pp$%au7 zl2H1K+`vO}kOyZzip1@r54pU^2Rl<$PIa=A<=Z`q%d@M4t=gVs2jZXu8`AFU1l`Ra zE4bw6{H9BaOS-+C5d7&-0xQ2J%SE+kqXgqNLjuj@pf_(&XOMP5&~aqVYkU4G{1`;g zd;y$#yg&QzZaqNA)jZ69$uk>^YyVnzn4=SLO$C@GgCVKWp!9Pkg2dfdE-*f1IB&KOa^WM8z&QBga+zAzc-nQx=#^xv`F~y_UZx7jmVu= zOFQ*b$e%rET_sVw0JPURg8^dZ5l zJ=u#(*fP*hpGxvg{PiAvSD+6QaAg}heULNtb(y>g|D0M7C&A&i81>@>mStE*yuE{JGoy_wM{F^lfDZNK>Y;-Og?lu8C9yAjC&M{Ar|5BMhMk|BbRz}Smcq)1R*I!{rFNa)8Al2QeyL9^twPG&v8bAgPQ{O`T*{`4)L$T2R)yRw4?e5q?aJ^sso zR~74r2)zPTM`=Ah0QY)V5fx|hAJKtbX(h>eTrKY&OM|mWL@UiI;w*K!r8-Y&ZRwAH`K$Ef{$!-X5F{TM;Mn$G zO~Zi7#T)2I+sHwVF8p7^uVg4R-0T8e0Gv+8IW(*O8o5|A1QG_WpsPXR?|Hai=?{7- zd5}ovzq&t7!T_O@$6ud2Q|S$XpB7q!CJ#u2)ZchkzugKUPMOD~4=|7ta|M{>CI=XO zB`E%;Dg_uw{#=p>1TP^+5cXs?00ZRDC2<0ARI=i48d^vz7g4#$9~~1J1j&0kQ*r+$ z3I<8vkwRk243S=sJUU~I6LqGchXNFoO1G}U`vjm-I1m-+{?`?T(7C#BJAm4Zu!lmq zA@%2gb5~(^L^)Jnf!cH%G!oqBL5uV7IY9n~M2#6#nHS8%P*r*`;Yd9X1TP@(f;y`B z@aDj`#(Gw88N8QZ$>lEGwjjZj6g^vse-sN$^}C33;KBgaONFH97MdVNF8Hi4$jljp z4n$QHq*s3)Xk0*={GmtU^;EQw^pE>u@r$|!nk~9+jTflD2WCqt9#m?@BVoS9zlsi4 z*Uo_4O;@IS+x!!Qk|EMTw{RSS`ERTN5_2aKd!zB%?Z3o`=S=bFie&45iK#IWiIvVD z{nb!11g|cU*ifI<-z^7;Nf3$M`JV`}0j|bCeA3P2Vf;Tz2M#++947of!7Vt9o;b{9 z{NZ2SWbvc-A`YW%6MOStK3vWbhdG&8#r;c-{vL7IMypJ~{|qA@=4pphCvg_^nhqhdf*!X1I`Hs8@LjMN)Qhw#gLE~ z6YZ7`xxh5i5gZrk5nb%@@L##A5)}d010#db%UVzYRLntwlf)e-7}Ym!|0lsa#|)*G z?)^@Fv`v~egUEZU;`;Z@5-XJT5NEJB-~wtJlpV@04bY-V7-TH|30R0_Pc+Fi07K4# zj_dyp_`h=a|C>IbrS5vMyQEaE|H8P9K5Mehr05&$k-&6b25ZkAR8W-aOXa z)K||eMKR#uu67Ec=v8YW_JZv#vF2Bsm-$@+hYGuhK`$~`%g_1aPB8lhDjr{T>v7iJ z$NBb)38m|g2w&BTO4v)icl^Po{rvuM%G%LDKjy8vgEBB^oBc+;joVGA-? z36R*QfB^`^c_7-J9-xH*rN9yM1sHNwA&BTRz^S-9%k5L4Xi79pnK*IuCuo$3GHHDf zcoQ9X{svII!ALAM>3~@ex%dWKHjoPCZXo^@^(Y(Q9nyg~6K_tNzn};5u`ps5K^)%r zx(bYRvjJ66;$OV10zkW@KEOe|`Oo}H;A{Xm94$Kc6-2VI75{G$a0fyPw;5lP(8fm+mj@ziU~}jz>QZ z{TyH7eKSN01Q5_9RH~Y~b_wlIeHgD71}6QStiGgJC7Na3!L~W%5}GSk7Qs9m{=Z-&*9BI{5}{H(f0#SKdz$y{+XvZRD}ZSa8h`V~p@I17Se9uby}5 zE7n@LKbbo30G$pCWXlj{@r`72#mw2M^VIg-Kl;uF7Ei%4gRTJx1p;efI-UVhCF^2J zrk+j8cH?-B!OolTVO2Mk zQ8{24V&)|&L#(cAC~OME2V{eF)s^L{KJjYbzH0u@8Q3_u93DlEw$o->ne9uix*)61 zEM-B3{0gK3aW#*VeQog8Ot4GRX0mhb^^?)nlxUlKwW#5`v`609G?8q7tiQlV<>BLH zE=kwX*&mY!!W`H1^1U%l)wT9>o0^01PJ{q&?y1Y|P_(z=$_Ag^SoZ|!F)qSO(GWvd zA?qH{D_-NcsJGHTf!aMuwpSdVb7dp~6jPEH??15mrCMHFF+Z`w<12A|*&y%A!@!Jo)B1Na9 ztQ5TobJ_!Hfwc+@5G0?`$pi@KvYxJMTXd)z0D)O-N4p9Ij?YI|#3&Z^!au3p`*Eld z4@j5VWus#Gg!1keDdFcESD_24`%5Eshm-z60otRBm0&qlJCOOG6`n%T>LczuQrX~S zPQ8SH--W%T0I7Ka_Vckt$AM{(A#^F~cR(HdieIqG$@{cTzsL&@;l(fAG!hAdBR6t|W zZY=ZO>*WZ!H7UYkuBdyyXap3^uuW`TXNxVBlKKQrv( z4PVjqZJ6}OPJH>(u|u82-8ty@s2tHStVGQob12N71=zvlxu?K)N{dXx+!&MmvK#)s zN*0fgtqx$mPB()YkdY_3K89@UT2UOC2u@A$_gt4agvpu?QH!7FQv#@~J!*GCXc9`l z7;^=5*Ua9=DEz><%O5xmb-NA)4{d5v;4sXQ+j##-8Mhaxd~rl?Wx9G>Q%~Mq?b@9; z9g#PBPLP1UGH8c*m4PT-3;QcGI>7`Gb~y3f*8WED*E70m902&zWYa-8712SOS}z{+j@iPZ$Pmnqk=55c8d(y=MKZC8!}{AWX> z^6b%jWaBIY?#~$>e+_j@_dlfL885RdNVS&Kr9i_|0w#9DpN{eb`X|+ueU0W~^uu$R zZJNF#PZM?sCE{KiC&_(Q@mjT2$Ud!j6YlMqEU|OpRElBl%btLwm|f1; z)LX;fho0uEF@Gl(0`*?2F&W&u?+T_V9fw7i>VHxAh;JANm748-Ro+RUa7uvN`Rr%?CAbd1nqZ|8d6nmZ=bJbs9na`np3leA?nM| zy}{b(pS4Jwy9Yrode9}^(F;2dJQ>!euY+rm?oqB}#;)!Lc>ZG1ZhyfqcheOV=S z?|bkaNIieU>fMA1;x9eEKpJJ*l6K zQ$=-!WXXL6!OUv%U{Mjp-7UBT`|b`w)_oXKj>unc>H8QQDL*cBDcxY_?JcbY*9Lq0 zX=zHJk`7_OS~Gbq;Cug2_6kqL*PUk`_+q{gz?sdDn8I;4rc%hx_e_J;@Le$hbi8Uk0P>AjqNjOZh`iQq}2{K(4R%O-zTA z!?xS0+^iYjnZ2550e}lNbA^vaf;qKhv)XSTo~&TguOu}=H82xv7ddBvfr~gW zCRVxbBSZ^L-TB#`9Ef1+V{DFTyfm}$;DHG#uwK@d4=o&>Lko+P-Kl1Sq5G$)h~8{~ z0T^3*nj5RfKD?ZA`(ACOM)ENWec!{`{J-?)XaAO z-NE!*K=1hr*IzI<8`JFH$VydFwzd}bl@xT+85ihk$k71 z6!)#SKxgVa`&Dc$ROa5X&Zi|eS6N~aM*hlZwDC;aK9W}GlKZ_N)M81-VE};j_^ zZd^+EYnQV?h3~GEf-WMa$M(MArz9$TsY~}`df-k7=)J(&zX*_>w_eh61z%$uS(A6V zDl$3N5Bgr}x>brEX!tGsIp4S_+J~-gBA1~St&Jb3YHL|bbd4X1{20{v5&5qIsa6B2 zQfEYl%RRzSG~Jt+i)w&Q`){gAqq>U0o=^N@W<>n>aK(qS5a;#R7v=pI%?q}r-V10Z zlz2bO+SHs24mtVwU!JZ2PZleN?pV1)6;d{nc_Gst+MWl|zfslwrQsh0W6ut|Iec@z z&p`@kB~YjFdBl0*YbwU1hC-ejkZy~gCz=o9!Q_1ayiP0~?#J|v>D5ljUxuQs+fgm4 zW9Q~^a`7?Kq&76wuaW}Q=mB@+AeF*!dH&#f!lnGSIQaW}iK|Bi-I6x{%Tabn95W6# z8%tN5aT5UXHw8<**hS>?UHYX?QYk_-H&9J$vC~g?{%Kl+ikVXWn~?Gp~UojJJOeZT{0*W7_ zxJiQkwKd?9dK+qQRK;W{0gu3U4yqqElJxkVXtFWmYTIs!6n)5hgt1_N)q_aljOtms zlKx@*n%DCN#a8*dy*(FZPPW9q$l--vs*TrDj8RKKZ-AZBTWWmNkV4D;gT#~y2h4_{ z%~+YWMB2E$Y=0pP@FzIo9q&)p62LO`hK=`4V}#oX{x$O{HiE8bw{UVPRyhu8VXq2? zy=xwYM2Pc)^#%GE-MfdBC*4!{rWe)k2>Fq6o5wavfPUI-vldqX;G`#h7l4ubI^-53 z49ugN`#)FXe=+;{Z%{@?+}f#tAj6_dH+Pbyn-~DtiF}}kZNKodinWW(W*FOqbglvD zNDn5(yIZxV{f#db&T)DGdF1|dus8Tl1Zp8-XuI(?n?stn5}1AX2YMEKn}mz~!lA)B zFzbsR?UUVoAAA)-F0gnMY%XCoHOH6(%Ajw)u;pfUn}5aq4aeEs_(k@rkMMq9hc=#o zppLQK_9wn$Twa8`B~$iZpU7cAQ1cJ4g;n0r-GS+so+_I>Ovbs<0Cw$Pljr?WmQ$xB z8K=CSYK` zL~{&6?sjqF*|REY-?tCW94n^O(!NjkU$H%0quNd^EqsHMo24;$_e2YuBP;>-(f$)3 z+;U1YQ=+lH^s(=FPf}(piMMDpE)6pWXT$2>N^zKh!MfyT z#o&f<{s-|hT{B?TM0Gt!d)>xseR36xxto({eYMy5{0cKNJXoOve3!+``B#)I!i(;0 ziFr(IfeYL-JmV*~WY{8y^uMGb}bJscfD4|1d#Oa-3PZL1d zq%sxoD1{HNZX(AIN8voGQBOKBIs%-k)E8Xfr2nKOOHYF$SCJ8i8*cuNXVYwJINV=- z0a9P8>huiv_@Gmf*!6&pK3>(`ocrGLAVTge-mzicjUOEli7~vX$RDS^d%QK*!?O`F zkJa4_H$em0&p{{u;tnuiA~kk+BXg14Y%=tTwhVP|Llzj~7=TG?*iAq)iE!5}!>qu2 zX?cibb5OfSX3BrW@7KjhO0t+ed~hkWIzWNu#?Gs6KGaPohegjT!WKWnlBkXve2ym? zQyr2-m5S(}bS*;v*>ra>X)2l0TZV}QJ%50YzE93jT!OS=UfNxDlnVp0MY{SEEES9| zXVm{s%8 zr2PUlq_;c}avbCcoTa?}NX<#rQqlgpsMq0KL1^sz>=ifPt(Be7w>>ywqFmmDcW+czh~`^QTEEUq>!wj3R@AC-ql5@K;z# z<3adp?af`3{L5f-`;?(kaw`GzDKQMG_LTrBr?G|FijqUo84=C2RsTI%ABV?dM_unW z2ItkSOW{GuOr{G@^VyU>XO!#@IyC#|t)8b87o`G<0A6-J zrCjpfQ$9}bv@%(B!}phj>z2<<)$~P5*oF9l?_HE(IW7nIYFtd%+j4Wfk@em8JnG~4 zEhiMOC)q@4JritRk@9G-s?XTMXljf^ah^F;S2?rDJ}XDiDS5R!JT-xQZ=yZBQ4Flq zY&0mGoIdMR+Oirjd7gW9USpJvTlfB^hC09gcj5Fh1&W~lQ%ZNNb4x{c3pY4m_@8oH74gK zI6|ghqW}3Ujs0;r2tg(GOE_L!glifzrHtNVb+D)G(Vz#;P@sKnKDgie*nRKP#P{QH z*x!M0xaRH0cdG8P@=cI*+y)0yp~(c-Gp;^13b@-aO#;#a;3{t1da(vA88yK@%GrP@ zNDAY%mbUj&X$=wU_aeB|whVw{Ah>p{`Z#ha%8i5901Jqz6XL%l(*)f<~ZaR~NJrB(C18irFoD%8i z3+ah?a)4GP_NW7XDb0UV)s02~fRffLeQ`MqaA(Aj(1)H0Z2*hP-#A3=Cj@6LH+I?S zf$bbX;tbSX0T?1XW)}FnITuW16hMT|7Yz-nz)4!eV4F~ zN7Xu>8=Kdd`>xo42ze%9;B#I4uiO|N0=gr{EU2`R9I1K(loodq$;apZ0gKJ%eQPmp z{ zaCiYkb%WHL9|e#( zqC&GI0nh%5X$JiY-69|#wF~d?xV6U;0mL?;P0RHTRu(;--P;AV0dvh6c#pu+CyH2v9%g! zx>3~xz#B>6X4v>LZsDafk(tq9`_vZdleSR}+at?%i0u&AMqpRL7e^2hBX>M}XTqm4 z-3{cq2uC;wrRLUR=#;LsE+iN-_@YcbjdJW!9@kzNe+yLBoMa-SG-vw|jF2J7uy%6S zb%=xv{6w?Yn^vCdZGr!?90BnOD!wh(#6NyhRQcbXd`r*TsE5yD zN@x$Ek*6!;MDgCcnL=uzq)Ql@+`n?+0xAcpFpF`aHRXD%M#_&Hhfx?P@c=rd>D5*Q z0bCa2LgA0ThlFj_W2fwbmmKT(rJ?cGtLK8^arh;N_ahcdJ13Q0BvR+1Ia!C@SH!MMt-Q5pbuNB16Wy6~`dm(AWq|&H z`}KIuua3@X`+iBVs&`g8V6L@+=bmcrWvlt2sycuidCU9NJ;HGA{`aQ{Pu1J+?Jty_ zHE!^l3KRui*Ijf?FAo^~H46Xoz(vnLM(nKbqcsOzEUd5|kEc*Su`H2ItzH!5`Z_z`w1!s|I+T>%@>F{}f@LbP^BRIV;9H5N8OZ!742@)eN!n;! z`52jNH`JlFX2&wyvQSRaDx`HGhUwnGUl~DYOOW%Xs&!hiF73z_Y)ztn z_m^c6uiV09FMUB$2+p_I(K1119iBL75THL2y9xuZIz5?&=Oo4SUs0W%#hY&@V_FsC zaxbeIRr@a5lU6;R0lma{89p5K zV{@(7OP{&c-x|DpA^YN$ZzDB7vbGh``{JC}OO(RNuownPaB^IbQ;KUAs#4+p6bopd z^68~dc~inOag{j$3jEUhgg;x#7HQirC%MY4$HX7FXi)gGPihUG71DE3p2 zn|k@5UdF;32@7ZIUB@lLxzXq1_FE!WS*3!C#Ht3+bq5Wl1{+l|e}q#X4>Yub(mFiS zB;<(?6C)c7h`ff;>51K%`-cjqp){6KGUsLdGw#&78VtjcbyKRi;%Ni|geBebo>5$l z*;4mit*AbmJIxV(jE-CaR0(|(3OPRSo_pCS?RSTIe88k=h~N>#ZElaPVJJ&L%B|iz zr7*L-`X4W(UJPByx-?)}N)q!*1V`wg5$QG++)EGrzHm_2bN!B|CQaq_cySSGv-jYS z5K#9X@)zD!9};KlMU3`zV;@#bYy*;z$H~fZA1%DxR+kv|Ey@LiyZbMU?_{AvV3?9= zlB!SEwi;VYQP<_Rx6Kay6LWuHW<6#-b)Xe1|vj%f< z(#L8}+|AWgZ-%6Q{p7GT>?zmP*RgWwI(RzC)n6dUu=v}Ei?<3WM1|im=?&@+wq9>1O*FVR*U!ujX##!=pl5!>_VbXV;N@U8U)3-n zrDh|y6OpKswKjVLxW=KP3LjM_STGXNosc@gh4Nt5&5i4&u&nLQ9=P8)e4_r$Q5~%T zmy~*=S*BZYz+@5rzD|Z*X;m$Hzi`5{5B{$ZRUX*D+F^SDq3HgCFGiYLH|JMTF^VN} zOBZdeQY0;*Z9ahWxnaF}s&g<^!$jA9!)}OxX|P zk8lYrpKSHJ6ZfT1{6e;fza;@vKPTAjAMsV$ZWdwmFWQf0JBwFU1Qi*TE*U)ekDL6< z&KB#=x6|aMS1}Rmuzv`ixWD>vmwfH32*R8#WiFkP^4d)bCFI%4%OrYDsn*{&;E?lr z;oDYtMzt;Jvs7*ND%V0q_fjo|7xRPt#OqH3oKmJ$GW*icYlmh}@!)=)`CptFagNBX z83+nsGxDATD3(^Au+u--55K%qaC#Rk(4!M~iXNe-1Q-F7CESW#D>wSAP0YTJ?uLQQ zAr+LZgXPFX5f*#l#8}&csUFW#co<|zP!z}++WySL(QM_mW?1{VB7Y2%mM3-fd8R(k z{AApqRrr0dPMiKnz&@-gU|}hU;)5MhuNC@)tYC6H@PG7={gAbphPu8~mF{NVn3j z*lS9vUcR?62Q;GrPVQtHVmrtCJHAZl_fjfFvZoVa;{hhLl#U&OnI~9gSajO@Ve>%o z?9M7RBFR+E*5(z%N}-p2s$|p(y5c%%0{k;hJUeMxYs~l`iN>V8-`&8f1(pO3A zll%bd(xIPeJAi-(%OMZp5`YNyG)nC6{P~{uwr3S^Hz{3*n#IoK`4G4D2i-A0U>?cX z%e25_13QFpb&5}?_7UJ4`df@#x)u;^rlau5pgdkJQZyjC^u5+-VI+$O3V9O<9T79V z%&2Rn7<9Ln+4!&d$IHGr*R(=g_Gw_A%xw|QGX&C|$3<7VK`oMWe7gb6K5NjOm;bOy z291i*rg`!B2v4gCh*Wv}d_$kl(e-Jr%Drrlf8z^r@tG1M3xQb3q1<#ek5t#K5HWqy z_V%v0nfj>XIZu6~6F*=A$aeBhyq8{JovMCzxWDzQD9uPXu#C!Y$mJZ>=%w3O#k}*; zefTnOi#C1t{Ow((FlSCepE2AS5S4Ew6WtR8?v)BIaT`jZXkMJxgclj+{qmb@##1mG zo;AJCjm)3K_Ox*ISBqpltHp`AzYU_G4}04@)**_!dE3h2`*noSl0S_GA5GqfSO8>UVXN<8r+8hAElXW=yDX zg2WNvq@2{DJ!}zGsmwsCg&WFCp|Wbda(}(L%J9q5{L?e^cvn0|3NpAQ!h5af6%2C+ zmk`dqAFbS@YSVOfYBZF4YMsY?$M1R46ocz8lrFDfN2~cP*g#GeAMb8-C~+!2 zJ|1l%`}orO9*Jyhs!x{Ywx8|f;XP5%5q{Hx2G>ywZ;ACsx6S>PB(^^`4Oe3|I)BUm z?)S_G4VItqPz%^Ezgi>D^at!xB*PTpSJGl}O)+=6*hgU8c$Hl1?elE}$G-tX$&74I z#(spDkU(9fG4?S|HXn(fp1uvp*LQ}|tVzd&>4Lcvec#0=%wz;kNKCJzTCzOZ&JFiL z1j*+is6%1)cs@(ErP2*!P1@x3pKz$D0miT>qz7B-_!Fs802$5QmCJu7bs}sElodBi(0paniO4|DlduL?yU@&JR=)MKRBG{oW zcKVs6u(3PI=<8j%f^79Szb1>1CPzjE{WR4qX!{SL*mDU=6i;PYo(f@u!J$EL0S8S( zfCm(gEmd>&k*fGReG<&I0blk>i8e~Yi9ry@;q#8+Y|p6^p_8$mMsrQfd&L}jA;x-MQ(B9}`=D;V-9l?TO}j(oT1)W+s+bK(>`{nm^(?4 zwp(%>!*Jucj}DzUd;d`5ig34kGrEkzTVno*>jnfZ0$VjCDPZa>DOMEwYhq4X(5RQr zL!I>oc^EuzoB;$yNS}9PI(@De#ltnTX8{#Cs+3d&I*Dg_L!?I25Jo5?v*6U9S*SLT4a;((ZvV|kd}#&QQY|- zu;J&xPweLwAL*+2nlK0=5X<^^MoS#o2U^(WsOkJiq{>nd55GPiu6gK=RaHvEdg~nf zuK%ol*`7-Wf_i9Ovyoapyl)-)Cft!r>}te^yN>T`j{-Sx`zrIw@-)5IshDQ5`1(0* zzuzLNUg?QG-Go7A@}S8*Z%eqz19+R*<7(ZrvDSi}?Wws8)>=I4auYH>xDidF!-9Uk S?gD2Qg3L`VPgb9ByY+u Date: Mon, 6 Jan 2025 09:03:34 -0500 Subject: [PATCH 2/6] fix partial matching --- tests/testthat/test-labelled.r | 6 +++--- tests/testthat/test-na_values.R | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/testthat/test-labelled.r b/tests/testthat/test-labelled.r index 04243c8f..572ac91a 100644 --- a/tests/testthat/test-labelled.r +++ b/tests/testthat/test-labelled.r @@ -509,7 +509,7 @@ test_that("remove_user_na works properly", { xhs <- haven::labelled_spss( c(1, 2, NA, 98, 99), c(t1 = 1, t2 = 2, Missing = 99), - na_value = 99, + na_values = 99, na_range = c(99, Inf), label = "A test variable" ) @@ -583,7 +583,7 @@ test_that("to_factor boolean parameters", { x1 <- haven::labelled_spss( c(1, 2, 3, 5, 4, NA, 99), c(t1 = 1, t2 = 2, t5 = 5, Missing = 99), - na_value = 99 + na_values = 99 ) tfx <- to_factor(x1, user_na_to_na = TRUE) @@ -606,7 +606,7 @@ test_that("to_factor parameters : sort_levels + levels", { x1 <- haven::labelled_spss( c(1, 2, 3, 5, 4, NA, 99), c(t1 = 1, t2 = 2, t5 = 5, Missing = 99), - na_value = 99 + na_values = 99 ) tfx <- to_factor(x1, sort_levels = "auto") diff --git a/tests/testthat/test-na_values.R b/tests/testthat/test-na_values.R index a6e14136..26b10047 100644 --- a/tests/testthat/test-na_values.R +++ b/tests/testthat/test-na_values.R @@ -4,7 +4,7 @@ test_that("na_values works with data.frame", { xhs <- haven::labelled_spss( c(1, 2, 3, NA, 99), c(t1 = 1, t2 = 2, Missing = 99), - na_value = 99, + na_values = 99, label = "variable label" ) y <- c(1:4, NA) @@ -19,7 +19,7 @@ test_that("na_range works with data.frame", { xhs <- haven::labelled_spss( c(1, 2, 3, NA, 99), c(t1 = 1, t2 = 2, Missing = 99), - na_value = 99, + na_values = 99, na_range = c(99, Inf), label = "variable label" ) @@ -35,7 +35,7 @@ test_that("user_na_to_na works with data.frame", { xhs <- haven::labelled_spss( c(c(1, 2, 3), NA, 99), c(t1 = 1, t2 = 2, Missing = 99), - na_value = 99, + na_values = 99, na_range = c(99, Inf), label = "variable label" ) @@ -44,8 +44,8 @@ test_that("user_na_to_na works with data.frame", { una_df <- user_na_to_na(df) expect_equal(df$y, y) - expect_null(na_values(una_df$x)) - expect_null(na_range(una_df$x)) + expect_null(na_values(una_df$xhs)) + expect_null(na_range(una_df$xhs)) }) # set_na_values ---------------------------------------------------------------- From dcbb2e027703e3f78208b69f389209fc8062783a Mon Sep 17 00:00:00 2001 From: olivroy Date: Mon, 6 Jan 2025 09:26:21 -0500 Subject: [PATCH 3/6] lints + improve docs for creating a get started page --- DESCRIPTION | 3 ++- R/is_prefixed.R | 2 +- R/val_labels.R | 12 ++---------- R/var_label.R | 4 ++-- _pkgdown.yml | 3 +++ vignettes/{intro_labelled.Rmd => labelled.Rmd} | 6 +++--- 6 files changed, 13 insertions(+), 17 deletions(-) rename vignettes/{intro_labelled.Rmd => labelled.Rmd} (98%) diff --git a/DESCRIPTION b/DESCRIPTION index 5fd8c44d..f1852c22 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -34,7 +34,6 @@ Suggests: rmarkdown, questionr, snakecase, - utf8, spelling Enhances: memisc URL: https://larmarange.github.io/labelled/, https://github.com/larmarange/labelled @@ -45,3 +44,5 @@ RoxygenNote: 7.3.2 Roxygen: list(markdown = TRUE) Language: en-US Config/testthat/edition: 3 +Config/Needs/check: memisc +Config/Needs/coverage: memisc diff --git a/R/is_prefixed.R b/R/is_prefixed.R index 11ae55b0..e41f1f03 100644 --- a/R/is_prefixed.R +++ b/R/is_prefixed.R @@ -8,7 +8,7 @@ is_prefixed <- function(x) { "({.arg x} is {class(x)})." )) l <- .get_prefixes.factor(x) - all(!is.na(l$code)) && all(!is.na(l$code)) && !any(duplicated(l$code)) + !any(is.na(l$code)) && !any(is.na(l$code)) && !any(duplicated(l$code)) } diff --git a/R/val_labels.R b/R/val_labels.R index 8cb01666..73dc5682 100644 --- a/R/val_labels.R +++ b/R/val_labels.R @@ -248,11 +248,7 @@ val_label.data.frame <- function(x, v, prefixed = FALSE) { if (length(v) != 1) { cli::cli_abort("{.arg v} (length: {length(v)}) should be a single value.") } - check_character(value, allow_null = TRUE) - if (length(value) > 1) - cli::cli_abort( - "{.arg value} (length: {length(value)}) should be a single value." - ) + check_string(value, allow_null = TRUE) names(value) <- v val_labels(x, null_action = null_action) <- value x @@ -267,11 +263,7 @@ val_label.data.frame <- function(x, v, prefixed = FALSE) { if (length(v) != 1) { cli::cli_abort("{.arg v} (length: {length(v)}) should be a single value.") } - check_character(value, allow_null = TRUE) - if (length(value) > 1) - cli::cli_abort( - "{.arg value} (length: {length(value)}) should be a single value." - ) + check_string(value, allow_null = TRUE) labels <- val_labels(x) diff --git a/R/var_label.R b/R/var_label.R index bdc9939e..1cda175e 100644 --- a/R/var_label.R +++ b/R/var_label.R @@ -113,7 +113,7 @@ var_label.data.frame <- function(x, r <- lapply( r, function(x) { - if (is.null(x)) as.character(NA) else x + if (is.null(x)) NA_character_ else x } ) } @@ -178,7 +178,7 @@ var_label.data.frame <- function(x, missing_names <- setdiff(names(value), names(x)) cli::cli_abort(c( - "Can't find variables {.var {missing_names}} in {.arg x}." + "Can't find variables {.var {missing_names}} in {.arg x}." )) } diff --git a/_pkgdown.yml b/_pkgdown.yml index 9d39d6ef..fc0bcae2 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -64,3 +64,6 @@ reference: - title: Internal datasets for testing contents: - spss_file + +redirects: +- ["articles/intro_labelled.html", "articles/labelled.html"] diff --git a/vignettes/intro_labelled.Rmd b/vignettes/labelled.Rmd similarity index 98% rename from vignettes/intro_labelled.Rmd rename to vignettes/labelled.Rmd index 4c11b560..9ee88a03 100644 --- a/vignettes/intro_labelled.Rmd +++ b/vignettes/labelled.Rmd @@ -541,12 +541,12 @@ glimpse(women %>% unlabelled()) ``` -Alternatively, you can use functions as `dplyr::mutate_if()` or `dplyr::mutate_at()`. See the example below. +Alternatively, you can use functions as `dplyr::mutate()` + `dplyr::across()`. See the example below. ```{r} glimpse(to_factor(women)) -glimpse(women %>% mutate_if(is.labelled, to_factor)) -glimpse(women %>% mutate_at(vars(employed:religion), to_factor)) +glimpse(women %>% mutate(across(where(is.labelled), to_factor)) +glimpse(women %>% mutate(across(employed:religion, to_factor)) ``` From b7b737127ab3d70ffea7c9abd284fcc4a5793659 Mon Sep 17 00:00:00 2001 From: olivroy Date: Mon, 6 Jan 2025 09:32:17 -0500 Subject: [PATCH 4/6] use anyNA and require R 3.2 --- DESCRIPTION | 2 +- R/is_prefixed.R | 2 +- R/to_factor.R | 2 +- R/to_labelled.R | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f1852c22..2da7fd4c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,7 +17,7 @@ Description: Work with labelled data imported from 'SPSS' License: GPL (>= 3) Encoding: UTF-8 Depends: - R (>= 3.0) + R (>= 3.2) Imports: haven (>= 2.4.1), cli, diff --git a/R/is_prefixed.R b/R/is_prefixed.R index e41f1f03..339ebe30 100644 --- a/R/is_prefixed.R +++ b/R/is_prefixed.R @@ -8,7 +8,7 @@ is_prefixed <- function(x) { "({.arg x} is {class(x)})." )) l <- .get_prefixes.factor(x) - !any(is.na(l$code)) && !any(is.na(l$code)) && !any(duplicated(l$code)) + !anyNA(l$code) && !anyNA(l$code) && !any(duplicated(l$code)) } diff --git a/R/to_factor.R b/R/to_factor.R index b72a4e7b..cf8472d1 100644 --- a/R/to_factor.R +++ b/R/to_factor.R @@ -94,7 +94,7 @@ to_factor.haven_labelled <- function( if (explicit_tagged_na && is.double(x)) { new_labels <- to_character(val_labels(x), explicit_tagged_na = TRUE) x <- to_character(unclass(x), explicit_tagged_na = TRUE) - if (any(is.na(new_labels))) { # regular NA with a label + if (anyNA(new_labels)) { # regular NA with a label x[is.na(x)] <- "NA" new_labels[is.na(new_labels)] <- "NA" } diff --git a/R/to_labelled.R b/R/to_labelled.R index 31486ed3..4f2d59bb 100644 --- a/R/to_labelled.R +++ b/R/to_labelled.R @@ -242,12 +242,12 @@ to_labelled.factor <- function(x, labels = NULL, .quiet = FALSE, ...) { if (is.null(labels)) { # check if levels are formatted as "[code] label" l <- .get_prefixes.factor(x) - if (any(is.na(l$code)) || any(is.na(l$code)) || any(duplicated(l$code))) { + if (anyNA(l$code) || anyNA(l$code) || any(duplicated(l$code))) { if ( !.quiet && any(duplicated(l$code)) && - all(!is.na(l$code)) && - all(!is.na(l$code)) + !anyNA(l$code) && + !anyNA(l$code) ) { cli::cli_warn("{.arg x} looks prefixed, but duplicated codes found.") } @@ -258,10 +258,10 @@ to_labelled.factor <- function(x, labels = NULL, .quiet = FALSE, ...) { } else { # "[code] label" case num_l <- suppressWarnings(as.numeric(l$code)) - if (!.quiet && all(!is.na(num_l)) && any(duplicated(num_l))) { + if (!.quiet && !anyNA(num_l) && any(duplicated(num_l))) { cli::cli_warn("All codes seem numeric but some duplicates found.") } - if (all(!is.na(num_l)) && !any(duplicated(num_l))) { + if (!anyNA(num_l) && !any(duplicated(num_l))) { l$code <- as.numeric(l$code) } r <- l$levels From 6ef8c15977a2f84ab52f4a4efe385a33c5333900 Mon Sep 17 00:00:00 2001 From: olivroy Date: Mon, 6 Jan 2025 09:43:51 -0500 Subject: [PATCH 5/6] final cleanups --- DESCRIPTION | 2 +- NAMESPACE | 2 +- R/labelled-package.R | 6 +----- R/lookfor.R | 10 +++++----- R/tagged_na.R | 4 ++-- _pkgdown.yml | 2 +- inst/WORDLIST | 1 - vignettes/labelled.Rmd | 4 ++-- vignettes/look_for.Rmd | 4 ++-- 9 files changed, 15 insertions(+), 20 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2da7fd4c..c2476901 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,7 +21,7 @@ Depends: Imports: haven (>= 2.4.1), cli, - dplyr (>= 1.0.0), + dplyr (>= 1.1.0), lifecycle, rlang (>= 1.1.0), vctrs, diff --git a/NAMESPACE b/NAMESPACE index 8ffe1ca7..fc95bbe0 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -174,9 +174,9 @@ export(val_labels) export(val_labels_to_na) export(var_label) import(rlang) -importFrom(dplyr,.data) importFrom(dplyr,`%>%`) importFrom(dplyr,recode) +importFrom(dplyr,where) importFrom(haven,format_tagged_na) importFrom(haven,is.labelled) importFrom(haven,is_tagged_na) diff --git a/R/labelled-package.R b/R/labelled-package.R index 96652287..fd6f39e0 100644 --- a/R/labelled-package.R +++ b/R/labelled-package.R @@ -1,10 +1,6 @@ ## usethis namespace: start #' @importFrom lifecycle deprecate_soft -#' @importFrom dplyr .data +#' @importFrom dplyr where #' @import rlang ## usethis namespace: end NULL - -# because `where` is not exported by tidyselect -# cf. https://github.com/r-lib/tidyselect/issues/201 -utils::globalVariables("where") diff --git a/R/lookfor.R b/R/lookfor.R index d440c6c7..81ba64e8 100644 --- a/R/lookfor.R +++ b/R/lookfor.R @@ -178,7 +178,7 @@ look_for <- function(data, if (details != "none") { data <- data %>% - dplyr::select(res$variable) + dplyr::select(dplyr::all_of(res$variable)) n_missing <- function(x) { sum(is.na(x)) @@ -195,7 +195,7 @@ look_for <- function(data, if (details == "full") { data <- data %>% - dplyr::select(res$variable) + dplyr::select(dplyr::all_of(res$variable)) unique_values <- function(x) { length(unique(x)) @@ -267,7 +267,7 @@ print.look_for <- function(x, ...) { !is.na(.data$value_labels) ~ .data$value_labels, !is.na(.data$levels) ~ .data$levels, !is.na(.data$range) ~ paste("range:", .data$range), - TRUE ~ "" # zero-width space + .default = "" # zero-width space ), variable = dplyr::if_else( duplicated(.data$pos), @@ -351,7 +351,7 @@ print.look_for <- function(x, ...) { lw <- dplyr::case_when( w_values < lw / 2 ~ lw - w_values, w_label < lw / 2 ~ lw - w_label, - TRUE ~ trunc(lw / 2) + .default = trunc(lw / 2) ) # a minimum of 10 lw <- max(10, lw) @@ -407,7 +407,7 @@ convert_list_columns_to_character <- function(x) { dplyr::as_tibble() %>% # remove look_for class dplyr::mutate( dplyr::across( - where(is.list), + dplyr::where(is.list), ~ unlist(lapply(.x, paste, collapse = "; ")) ) ) diff --git a/R/tagged_na.R b/R/tagged_na.R index 7da80706..85650fde 100644 --- a/R/tagged_na.R +++ b/R/tagged_na.R @@ -187,9 +187,9 @@ tagged_na_to_user_na.double <- function(x, user_na_start = NULL) { for (i in seq_along(tn)) { new_val <- user_na_start + i - 1 if (any(x == new_val, na.rm = TRUE)) - cli::cli_abort(paste( + cli::cli_abort(c( "Value {new_val} is already used in {.arg x}.", - "Please change {.arg user_na_start}." + i = "Please change {.arg user_na_start}." )) x[is_tagged_na(x, na_tag(tn[i]))] <- new_val if (any(is_tagged_na(labels, na_tag(tn[i])), na.rm = TRUE)) { diff --git a/_pkgdown.yml b/_pkgdown.yml index fc0bcae2..27e073cc 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -33,7 +33,7 @@ reference: - drop_unused_value_labels - copy_labels - update_variable_labels_with -- title: Data dictionnary +- title: Data dictionary desc: Functions to look for keywords variable names / labels and create a data dictionary contents: - look_for diff --git a/inst/WORDLIST b/inst/WORDLIST index 6f107d34..4e519c57 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -10,7 +10,6 @@ Stata briatte cheatsheet df -dictionnary dplyr gmail joseph diff --git a/vignettes/labelled.Rmd b/vignettes/labelled.Rmd index 9ee88a03..6ae4f9f0 100644 --- a/vignettes/labelled.Rmd +++ b/vignettes/labelled.Rmd @@ -545,8 +545,8 @@ Alternatively, you can use functions as `dplyr::mutate()` + `dplyr::across()`. ```{r} glimpse(to_factor(women)) -glimpse(women %>% mutate(across(where(is.labelled), to_factor)) -glimpse(women %>% mutate(across(employed:religion, to_factor)) +glimpse(women %>% mutate(across(where(is.labelled), to_factor))) +glimpse(women %>% mutate(across(employed:religion, to_factor))) ``` diff --git a/vignettes/look_for.Rmd b/vignettes/look_for.Rmd index d2391581..901ce464 100644 --- a/vignettes/look_for.Rmd +++ b/vignettes/look_for.Rmd @@ -1,9 +1,9 @@ --- author: "Joseph Larmarange" -title: "Generate a data dictionnary and search for variables with `look_for()`" +title: "Generate a data dictionary and search for variables with `look_for()`" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{Generate a data dictionnary and search for variables with `look_for()`} + %\VignetteIndexEntry{Generate a data dictionary and search for variables with `look_for()`} %\VignetteEngine{knitr::rmarkdown} \usepackage[utf8]{inputenc} --- From f546db28036b421465b368e4f0a462b2fac5a358 Mon Sep 17 00:00:00 2001 From: olivroy Date: Mon, 6 Jan 2025 09:58:28 -0500 Subject: [PATCH 6/6] memisc is installed on the coverage action (only missing for the check action) --- DESCRIPTION | 1 - 1 file changed, 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index c2476901..951ae2b7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -45,4 +45,3 @@ Roxygen: list(markdown = TRUE) Language: en-US Config/testthat/edition: 3 Config/Needs/check: memisc -Config/Needs/coverage: memisc