From 7ca2c054efe41da410bffe95cbc78dc9a301ae26 Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Tue, 9 Jun 2020 16:08:04 +0200 Subject: [PATCH 1/7] truncate the number of columns --- .Rproj.user/shared/notebooks/paths | 21 ++++++----- NAMESPACE | 1 + R/plot_disaggregates.R | 60 +++++++++++++++++++++++++++++- docs/index.Rmd | 2 +- inst/rmd/child.Rmd | 2 +- 5 files changed, 73 insertions(+), 13 deletions(-) diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths index dac2121..5888058 100644 --- a/.Rproj.user/shared/notebooks/paths +++ b/.Rproj.user/shared/notebooks/paths @@ -1,10 +1,11 @@ -C:/Dropbox/ProcessTracing/4 notes and memos/probative value space/probative_fig_with_areas.R="D16A2A5B" -C:/Dropbox/ProcessTracing/4 notes and memos/probative value space/probative_fig_with_areas.Rmd="F1D7EE19" -C:/Dropbox/Sierra Leone Covid/6_automated_reports/3_bulletin/20200508_2PM_bulettin_format.Rmd="D039B059" -C:/Dropbox/Sierra Leone Covid/6_automated_reports/make_sl_dash.Rmd="9E52B317" -C:/Dropbox/github/dashdash/R/dashdash.R="847BE8CE" -C:/Dropbox/github/dashdash/R/plot_disaggregates.R="978D1759" -C:/Dropbox/github/dashdash/docs/index.Rmd="536670CC" -C:/Dropbox/github/dashdash/inst/rmd/add_maps.Rmd="BD9ECF63" -C:/Dropbox/github/dashdash/inst/rmd/child.Rmd="B24A16BC" -C:/Dropbox/github/dashdash/inst/rmd/dashdash.Rmd="244764FD" +/Library/Frameworks/R.framework/Versions/3.6/Resources/library/dashdash/rmd/child.Rmd="FBA5C26F" +/Users/sisihuang/Documents/GitHub/dashdash/NAMESPACE="FD370DEC" +/Users/sisihuang/Documents/GitHub/dashdash/R/plot_aggregates.R="E20DCDED" +/Users/sisihuang/Documents/GitHub/dashdash/docs/index.Rmd="88DAE09A" +/Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_dashboard.Rmd="A04F261E" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/add_maps.Rmd="99D69A53" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/child.Rmd="1498AD5" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/dashdash.Rmd="EC2CBF22" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/ft_plot.Rmd="FDE79D64" +/Users/sisihuang/Documents/GitHub/dashdash/man/hello.Rd="F4426691" +/Users/sisihuang/Documents/GitHub/dashdash/man/plot_disaggregates.Rd="1BF18FD8" diff --git a/NAMESPACE b/NAMESPACE index 61262f8..fb9f191 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -5,6 +5,7 @@ export(ft_country_graphs) export(get_current_means) export(plot_aggregates) export(plot_disaggregates) +export(plot_disaggregates_row) export(summary_table) importFrom(dplyr,filter) importFrom(dplyr,mutate) diff --git a/R/plot_disaggregates.R b/R/plot_disaggregates.R index e982f92..6a5ef04 100644 --- a/R/plot_disaggregates.R +++ b/R/plot_disaggregates.R @@ -2,10 +2,68 @@ #' #' #' @param df dataframe +#' @num number of ids #' @param my_vars df with info about variables #' @param pd ggplot dodge parameter #' @export +row_function <- function(num) { + num <- as.integer(num) + if (num > 8){ + row <- ceiling(num/8) + }else { + row <- 1 + } + return(row) +} + + + +plot_disaggregates_row <- function(df, my_vars, pd = ggplot2::position_dodge(.1), switch = "y", nrow = NULL){ + + vars <- pull(my_vars, variable) + var_labs <- my_vars %>% pull(short_label) + names(var_labs) <- vars + + # Gather mins amd maxs + ranges <- my_vars %>% select(one_of("variable", "min", "max")) + if(!("min" %in% names(ranges))) ranges$min <- NA + if(!("max" %in% names(ranges))) ranges$max <- NA + + # Reshape and bring in mins and maxs + df2 <- df %>% + select(all_of(c("id", "date", vars))) %>% + reshape2::melt(id.vars= c("id", "date")) %>% + group_by(id, date, variable) %>% + summarise_all(list(~mean(., na.rm = TRUE), ~sd(., na.rm = TRUE), n = ~gdata::nobs(.))) %>% + mutate(se = sd / sqrt(n), ymin=mean-1.96*se, ymax=mean+1.96*se) %>% + left_join(ranges) + + # Row num for layout + nrow <- row_function(length(unique(df2$id))) + row_id <- split(unique(df2$id), rep(seq(nrow), each = length(unique(df2$id)) /nrow)) + # subplot to 4 parts + subplots <- list() + for(i in 1:nrow){ + subplots[[i]]<- + ggplot(data = df2[df2$id %in% row_id[[i]],], aes(x = date, y = mean)) + + geom_point(position=pd) + + geom_errorbar(aes(ymin=ymin, ymax=ymax), width=.1, position=pd) + + geom_line(position=pd) + + facet_grid(variable ~ id, scales = "free_y", + labeller = labeller(variable = var_labs), + switch = switch) + + theme(axis.text.x = element_text(angle = 90, hjust = 1), + strip.text.y.left = element_text(angle = 0)) + } + + # pass every subplot to grid.arrange, followed by nrow + g <- do.call(grid.arrange, c(subplots, list(nrow=nrow))) + + g +} + + plot_disaggregates <- function(df, my_vars, pd = ggplot2::position_dodge(.1), switch = "y"){ vars <- pull(my_vars, variable) @@ -34,7 +92,7 @@ plot_disaggregates <- function(df, my_vars, pd = ggplot2::position_dodge(.1), sw geom_line(position=pd) + facet_grid(variable ~ id, scales = "free_y", labeller = labeller(variable = var_labs), - switch = switch) + + switch = switch, ncol = 16) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) # Add floor and ceiling as ghost layer diff --git a/docs/index.Rmd b/docs/index.Rmd index 4d655ec..b17d48b 100644 --- a/docs/index.Rmd +++ b/docs/index.Rmd @@ -110,7 +110,7 @@ my_args %>% kable(caption = "sample `my_args` dataframe") The dashboard is then produced by `dashdash::dashdash` like this: -```{r, message = FALSE, warning = FALSE, include = FALSE} +```{r, message = FALSE, warning = FALSE, include = FALSE, cache = FALSE} dashdash::dashdash( output_file = paste(getwd(), "example.html"), diff --git a/inst/rmd/child.Rmd b/inst/rmd/child.Rmd index 7e9de03..1812d78 100644 --- a/inst/rmd/child.Rmd +++ b/inst/rmd/child.Rmd @@ -29,7 +29,7 @@ plot_aggregates(my_data, my_subset, pd = pd, switch = switch) ```{r, echo = FALSE, fig.cap="Disaggregated average responses for a given day (dot) with 95% confidence intervals (whiskers)", fig.height = nrow(my_subset)*1.42 + 1, fig.width = (unique(my_data$id) %>% length)*1.1, message = FALSE, warning = FALSE} -plot_disaggregates(my_data, my_subset, pd = pd, switch = switch) +plot_disaggregates_row(my_data, my_subset, pd = pd, switch = switch) ``` From 911ba7493f0d7a39e80c89537d5f2818215a0996 Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Tue, 16 Jun 2020 16:43:30 +0200 Subject: [PATCH 2/7] template r file for defining factor vars and their lables --- .Rproj.user/shared/notebooks/paths | 2 ++ DESCRIPTION | 3 ++- R/plot_disaggregates.R | 2 +- R/temp.R | 15 +++++++++++++++ docs/mexample/mex_vars.xlsx | Bin 9475 -> 48263 bytes 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 R/temp.R diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths index 5888058..ad7dbf1 100644 --- a/.Rproj.user/shared/notebooks/paths +++ b/.Rproj.user/shared/notebooks/paths @@ -1,6 +1,8 @@ /Library/Frameworks/R.framework/Versions/3.6/Resources/library/dashdash/rmd/child.Rmd="FBA5C26F" +/Users/sisihuang/Documents/GitHub/dashdash/DESCRIPTION="FDD3ECA9" /Users/sisihuang/Documents/GitHub/dashdash/NAMESPACE="FD370DEC" /Users/sisihuang/Documents/GitHub/dashdash/R/plot_aggregates.R="E20DCDED" +/Users/sisihuang/Documents/GitHub/dashdash/R/temp.R="24E8D678" /Users/sisihuang/Documents/GitHub/dashdash/docs/index.Rmd="88DAE09A" /Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_dashboard.Rmd="A04F261E" /Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/add_maps.Rmd="99D69A53" diff --git a/DESCRIPTION b/DESCRIPTION index 10b2b2a..a9e8df8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -26,6 +26,7 @@ Depends: maptools, tidyselect, table1, - checkmate + checkmate, + gridExtra Suggests: testthat diff --git a/R/plot_disaggregates.R b/R/plot_disaggregates.R index 6a5ef04..7decab4 100644 --- a/R/plot_disaggregates.R +++ b/R/plot_disaggregates.R @@ -92,7 +92,7 @@ plot_disaggregates <- function(df, my_vars, pd = ggplot2::position_dodge(.1), sw geom_line(position=pd) + facet_grid(variable ~ id, scales = "free_y", labeller = labeller(variable = var_labs), - switch = switch, ncol = 16) + + switch = switch) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) # Add floor and ceiling as ghost layer diff --git a/R/temp.R b/R/temp.R new file mode 100644 index 0000000..39632d1 --- /dev/null +++ b/R/temp.R @@ -0,0 +1,15 @@ +vars_vec <- names(my_data) %in% my_vars$variable +factor_vars <- c() +for(i in 1:length(vars_vec)){ + if(vars_vec[i] == T && as.logical(my_vars[my_vars$variable == names(my_data)[i],]$factor)){ + factor_vars[i] = T + }else{ + factor_vars[i] = F + } +} +my_data[, factor_vars] <- lapply(my_data[, factor_vars], factor) +factor_label <- my_vars[my_vars$variable %in% names(my_data[, factor_vars]), ]$label +factor_var_name <- names(my_data)[factor_vars] +levels(my_data[[factor_var_name[1]]]) <- c("rural", "urban") +levels(my_data[[factor_var_name[2]]]) <- c("female", "male") +levels(my_data[[factor_var_name[3]]]) <- c("no", "yes") diff --git a/docs/mexample/mex_vars.xlsx b/docs/mexample/mex_vars.xlsx index dba80de0aaf1f843c039b86e249c791c142537f3..c5ed13be145912af50203c954b8c107b5fe1abe5 100644 GIT binary patch literal 48263 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 hf5zVO2@TEv;oiDh^dNVnp%VxYM|NotfR8 znaq5@V7K~t>ULMvIen|{`yMTj0vtRJ01i3lB?|1Av8I|G(|O_z9FI4JmiC0i`Zw?<6*uE*dyCEVvTSS~vm$PR;vaBrd8)9!E&6ht3|m(_I@E*1dt21dqJsKAYZ?;q zuzu;=r|!Uimf)(ZbCiQaB+CBG$SB4#9gynM(5=QLxh5uGN@$IXCmi@abG}atbEUTl ztys5^uYaL)Rat8plXtLa0{DFld(zg1-q-N#JF^^o6ov01o~L0xh+JEp-c+s0^(IB3 z-Hoo1bIRBZc9|_St_@>pWCgLMo#(j{7h!c#vi#itkBDEp^Zm12qVP;ba2Z{O<-A zmIPyV`^hiXxk{t3a0Dppy~;vUZd^Q&7-(GINxPJ;^7|fRsp}Uyd*@y&Lx$!>OdoX)BtW;8>tra?yN3s*yQKek031bHxD54BeNkRxfhIwVr z`a4g&oLucpot*4`dar+T1_tWFpj!UBw^B7Fg&sCw8|p(Cn^(FgF6Nv&E5*L%-c#g( zTKWYVa!&vA6(WXa1MO)ARye0n@1x;9&r5EMbvSHDCu3nG7Q7F({gD8I)9~3a9J1*_ z*>kWA0yftE?q10OD#m*^>?Yxaex@uO-XB+V)X&253MeGco5n-AY)9BUIBeZUNd}>q z8LHg~ya`d?F9X*$G?2Zgx7>Vel32Jv%m#atj-5S2krPDs28?Y_k~3a)N?jnIw%%DP zd5_q2=G~xe5|=1EFXk5V3w0+8>z5%7pigky%uQ?2JX&)Xza6CSSU6=GIzO`980ec? zfv)u5AyW>A{q+$FmkFrVeG0t-3YkBHrBrjlF^>)S+Q{Y+<~q|9jy&+aMiAA!d`n63 zOp0tWoN^UxYMoMI@ovXaYRK~GxC0MGJ34W88sBr$Z2OY&W-B!p)mR{3SHGzTjjQ2G z%;?nSB1U{ZSDBk`3)b>cpUk}=yvdv7L2h7j3^-xp*0pJfVx0#>aD>c7x(kE%} zPzHK>etddIJ4?Qygj^rSenpUQBN`wh05i`Wr4d)$LxfTIfeX-`WT=d;8Gnf*`8=Fia&sHh?i zkW8#;spJpVjGs%YZg@usyn?kd2U>yan`gHcMPuWvG;Ws9qa1xvJ6(p(@CjpIJ=Q2a zmhU*I^qQzImGdnW;(MeP)wQj8u)N5Wd0Nq%?sy%#)eN|#pmXk@FS|FsD+iR5Bci0u zo6yCKeuuwB!RYSyoFJ=w9l%l3&6T+Tlct=&caqzKD!?$p$YKD4plskYmATETs7ehg zQd*J1*Wq~K+dq-vKDQ?_WSth&uQby}fVuBU8|VO0$?xkM4Q}Thr4-IWbJDrD zPgdPT0QUpxKXK(Q-bU~kYBC)W005ldx#DJR;%Z^8?(S;iXyx|Py83B|IWDjPTk*F^ zk(cfGY*cICP*KWaZj63}Sv+R|Z46S7C7dR3m9C^D*w2t35OZfxTUmJ}Ra_KP3Wzes zuxt;T%Ar_0hD@e|+aJ8I&SS9lQt?VT37_x>=9ip)4_nlg5ihGpaLC*XFi+cLrnAH^ zKq65l432C%j!6G{fvh--_qm9r#ek*5GEzPPDo0hCT>q!GhInrK#p9`qZ{bS zzBX4v=)6G}OOY!7k%n-ipbWjfH@tBbli*30?ROFse;1&n?9h$ys-m0r7X&ZAyu6*^OJcc4>=h$)dJhqvxmUaIu#)vn9O6a}YQ9G~uSorQDxfKK-EUr8_ z*kwm46@KuFI3ya90_#yvTgZ{bnGPqvA!ILK`4Dy@te?$s#ro5fGzm8^X79&-xl-^i zoXq`%gQW?4rHv)4W&8GvY((}QYrzvcVD_%<@*EZS%ahCvrt|xkw%tPC!PnTK#K4YKJ7`^QR_R>;li%eaA29u(15Cuc`01@Ech1#_2ZvlthvC+1@*K1d&!P*Cg`A>sShnL zk2HtymPd^YYMMxjW8ci=XarP-lA<-QN}*PW(F^N$hh4e31T~!7 zfh6Tz8$(&%)Y*D9&EuMPZNJ4{Mhg~eOQ8Rz8i!u8ucof3O~JFN8-2(j3?^-xO3;|V{ca(xk(wf*(!=}sd4%4^7$N-W9z0x?PIF?mGQarv6r5lxgy z5XS8Zj7Vk=n|M!xDCV|j;o(p}tf3y+ZkI>pLDvGYb}vG!V29mYGwDea)!VcR=_-Up zvuIBOFaFiy_e00W&RL2}iDyj_EfJ&fc84tTrGU#V&YYL)YI8A_7C+DK zswARGN?IhsH)n)6))gxw&JTeV!Qm6s60XM7YAm%9rr|?f7Gxpwr^Cw*72Sn)Q$l{` zlqS%5u=$4sb#F=0h_GS%K8ZH`#$tq|sx>;TjTGM>qrX#4 zpRv)h&_O%=Ge6sBWETw=!$4I#u%JmO@)I=tC2%DiLU)&Qu=KAi>Gin(pqiU zi5oFrzC~2i-gyl^_kwXlM2OWpxlQ6vr?c3S45~r7BxSPmvCdlj?3_^QHtntHW;k{A zcw1~aVJKW-F=Cf?rrQg-fQZ?qwfY4O(j1*`XQ{MSZE}()9S$LUX%Y8&4c|Hzjl@>C zpxR8^WD7GwarK@%m1!}FlKHy}jR-BreC#Niu7t(X=Zr{2h{h{UnjEu_VIGXQ*`sB* z%4e@)V^q??-{Fj2H5QuQEE zHNp_bF|-OXoJ-RlbJrdN?WTOtm3G;D!sdXB`)c!IRjO?>Ol)2()RH)9%MABZZCYz| z`IC_}X`e*SqBIzgDJv>h@SLvx~Q_hfQ&t)JJB@X!n{JwsAHv{u-0O@Vi@`-sZHh zNe-1J(pw#W?(lw5Y#*xLl%Gp`VvC@1ysbJZI? zpUGu8UU`|kdxl>fCYi*qpQt>D$R3~So7BT>#2k=}&NW7y>%jOj5Gbts{kZs5!|tSe;!c>r271Y<#AG!?zT>?zvun8>OA`jxl(&5A+T`mf zxK1|a?5`Y3I<3mxku^1{3$>g~$Y?5)FRmOsqNSWK_!2rlN0#CbAB#Im}Hr^b%QxN4xYAeEbD~m;MqA|=ZU6gCju=iHMqni+4>zcz0NT-vtOKmKF>+ZCJ{g8~Nt z_(Ds$=>H1P+`a8Bev8anwHDq^KvNl+byB7dD>oapd4_?=dLkQYQP~#R*5-%_-93ek zMrwqUqi8pq8eP0W@GG1Bs@Hy&BVQX&JSchjK?a=E*!xD_1gdEz-~k7)$dc6vTHZWR z2Ut#}bR0i@#sB)Ap?o-gqJ<UL+?ns$zD(h~{*&uVTZxUiV~7rXj-6AQGYCv%M?A z0Of@#=+hZrZXcfoVl2Lyb?!rts6|s6mY@$-R)5?qtMF!k!bnFZFHAMft<^?cyaz9s44k z>&L!2GDaBR&8ETGSx+5aq99f^NY9*Z&qg1fWGznUK6DE`_GeF*5#E_*#O5wO8z&ea z12J=IOWj{RXp8YuYbfL6Y2O?imeI(FgtLf%7)PEk?s-Badz75as&mkpu>{feRxw{P zz8osK5A-FT*^j@V*B{}H9O?xtl_HIl0_HzX- zt}z#l2Y-yL=1CqikDly3+Q_+u2Mh=N8mxJEmz%bzgRwWe7LjWBnrxvAM<(oB`%apx z;DbG4T}4u^+Br_g)Vm1DKpiftv4vuudYOhD=VpXLyjm(>$3vAU6yeyF3Ge~J)%4L# zKgM7!@aKWK#q&=uhHT81r$)n8qb}Z4Uo8xu4*R`ML>T$1Hj*uE#-;yI0Qex-w1Wigb*y3l00h5t=4S!G&Dz4k-Hr9P;kURoBW2<3IxjHv=;gdu zxZl$V31zabLW%dw@s{~hSwH6C;Z$ka(+Rext(RX9VXT2p$b3E?DkEn5U8 zS(uQ#TH45sL?PktS=Xe|@~(>*5D8#K#H=D5D8^-!{9<-GLUd|#vBx@*S7?;ZyfqH{ zrZ{3iYjCNjKHYvuVH)kr+n2|~x|7t2$5qR-!{tBh^O2I@9Pld}r!ZB>mar9(jsf>P zvQ9M2Zxdct;}&^$Qhn{1`_WRM&R8R}A+ObO=oPG(BoL?lLyBdkj;?CZ{?uDN;yp9! z@x8RrI~^zPyT)UI-LCDeHd%|Tsa#AuK6s0kOt+PX+2;#P0*sJ*5h@9xmLFmIxW^Qm z4~t2K0n@Imrg_;os3WEf1`zY?3e!_&bitK?$h*$|Sa49v#|JVL{2elRa1&>Md>$KG zN8+4&vc#KY#*!av#uF)hZYUTPADY)#W?Nj)7E^WK*xs(Rio{VH~fYhVL?wEvdxTEyw0?@4IlIB zwfu%J-eg3r+qEYwq)JMBgLH>C3-7ewsS^i$zqVvFsXx}Z95aVxozevNhVG!lgvO=O ziIP6(T9j+ianblr%$SuZb(2FfMCEu+4Im8W0t-B9NuRdQKTa@+n$*GS3m_bsJ;|xS zUG-6O7AaiK#DRW6J{LaweBR9h(@EEi)}egNhgxjxaN|CwMl)xx8h%Mo@C9EjnwQLk3S2tzg$M5`NKOXk)7_~1+xE%LZq|_B|klQ4ubux&6T=$cK z@N`J!^p8=FImN@&XFP8|WRiN78gCE`bMH{%P+K^H#N^~|kzWXM5FYj}v7-%bxpY5i z=N1$v$shpQ&jzky5drsSIr$F}mt9IP`b#teI*M?kiSuyN2%yJ*o{j@@*EzW_qH7Q> zLFP4y=DS}kEIpmyZ1t3Rb+${1V`1tj8W%PRq!WJumpAOVn%UK*x8~CKMB2_Px_(c1 z+|6DzF0(dvwK=r^Sn1gm#UCJ2<> zbS-kEJI`Je<{YZrBFhh)&004SdG)aoTZ@29l_-bkE+Zm3?WTHiq-D|3q$0c#e@v(Q z$CRl1=skmMT6j6>wFrqd$W)Om9IxoK4V3gUtd^Ezv{jn#UTBmat>IK;cPTgEV7;wf z`ow%kJFvFBiDt5;i%Q<|)RtB7(TV?-^q-7J?#@=HDAX0}K`V%u(1NqMlNrd>$=Qw7 z%*oZ_XSNIN&HS&<47IA!3Bx~Ig&{|>tr8o)rnLFUrBulPh$J;tr061(?}BcRNHx06 z%5z#92@s$2`N)1l4P#1Fn{5KCvmv3u2SG|YnBkZ>AH5GL5RNvnh^LCE(*)?a{DCr2 zH>bH9?_9sH4m?9;kv*29vQcR&8)bo4V88G~io9mxcgNxBrN>*JaHz7l3wD6P579S6 z2tvUlI1DTziP#Ru@spfanK=h^vUBB#BE_CD^@%J4l&?jId@R;AIEd{RcL=-&@%(@? zm&-$Av-J+sBR2%>0dH5dV!z!N7fmje@#Zw+WVj+R5xn%BkTqJD%WpC4_S60%;Y1bQ z(mmkLBB@5|_c=(`6o(&PgubHYHVlF_g+MPW|HDRX`Z~jKvo^KE%Pj!nH5LlySAKk2 zwH^M&Aw)TxR@7j<<_Hu3jpqJdw8mWZfk}kIjvjgz_-ELeI6MCjbx^qdYs*Mba$5M= z5rexRMOz}`TLPg4mFCLwoL8E_tk+v<7MOjgrV1~OKc7*l9_!KZ-Hjn-H58_xF28JJ zMhv%ZEtz#yt%l9Gh;eC&T$<@%@vnrHYm$a`s7;YXJ()ZFG1IrPa2fkDTSsdNPP7vN-EsR*@Z!)8q})>?t>q za5=rdjPbh*+u0i0oXWk^Drgz81!q4r-a(_U-+>GR%M7g^|MTl6|6aI%kN@!U2}t3u z3jW#{|F_`JF$KzwKefq!75rzw$r|_Q?@>kJcW9L6akD;OT zzi$0+k@T-x{^~^k&;bB2lK=pJbE&_I|J4}&S^Oi^Xa7h1U#1bHfB;=x0N@Gq6A1O% J4irCs{U3X3h&ccN From 1180a49a135e7739ab94c7e33acc6d43ca5a8a7c Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Tue, 16 Jun 2020 17:04:57 +0200 Subject: [PATCH 3/7] resolve conflict --- DESCRIPTION | 2 -- 1 file changed, 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 85a59b8..012a22c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,11 +25,9 @@ Depends: magrittr, maptools, tidyselect, -<<<<<<< HEAD table1, checkmate, gridExtra -======= data.table, checkmate, zoo From fb27138f1c99dc1904712441fc7a982d9d8351e1 Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Tue, 16 Jun 2020 17:06:51 +0200 Subject: [PATCH 4/7] =?UTF-8?q?modify=20labe=C3=83ls=20of=20factor=20vars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .Rproj.user/shared/notebooks/paths | 15 ++------------- DESCRIPTION | 3 --- docs/mexample/mex_vars.xlsx | Bin 48263 -> 69105 bytes 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths index ad7dbf1..c33c885 100644 --- a/.Rproj.user/shared/notebooks/paths +++ b/.Rproj.user/shared/notebooks/paths @@ -1,13 +1,2 @@ -/Library/Frameworks/R.framework/Versions/3.6/Resources/library/dashdash/rmd/child.Rmd="FBA5C26F" -/Users/sisihuang/Documents/GitHub/dashdash/DESCRIPTION="FDD3ECA9" -/Users/sisihuang/Documents/GitHub/dashdash/NAMESPACE="FD370DEC" -/Users/sisihuang/Documents/GitHub/dashdash/R/plot_aggregates.R="E20DCDED" -/Users/sisihuang/Documents/GitHub/dashdash/R/temp.R="24E8D678" -/Users/sisihuang/Documents/GitHub/dashdash/docs/index.Rmd="88DAE09A" -/Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_dashboard.Rmd="A04F261E" -/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/add_maps.Rmd="99D69A53" -/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/child.Rmd="1498AD5" -/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/dashdash.Rmd="EC2CBF22" -/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/ft_plot.Rmd="FDE79D64" -/Users/sisihuang/Documents/GitHub/dashdash/man/hello.Rd="F4426691" -/Users/sisihuang/Documents/GitHub/dashdash/man/plot_disaggregates.Rd="1BF18FD8" +C:/Users/huang/Github/dashdash/DESCRIPTION="6C509801" +C:/Users/huang/Github/dashdash/docs/mexample/mex_dashboard.Rmd="E122CEBA" diff --git a/DESCRIPTION b/DESCRIPTION index 85a59b8..7894555 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,14 +25,11 @@ Depends: magrittr, maptools, tidyselect, -<<<<<<< HEAD table1, checkmate, gridExtra -======= data.table, checkmate, zoo ->>>>>>> 5c540cdc8fc167b60d2ae77193f4ade6a49bed29 Suggests: testthat diff --git a/docs/mexample/mex_vars.xlsx b/docs/mexample/mex_vars.xlsx index c5ed13be145912af50203c954b8c107b5fe1abe5..749a09f563ec2c9bb639908a8960b15a14d6c51d 100644 GIT binary patch literal 69105 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 hf5zVO2@TEv;oiDh^dNVnp Date: Thu, 18 Jun 2020 15:48:11 +0200 Subject: [PATCH 5/7] remove temp file --- .Rproj.user/shared/notebooks/paths | 16 ++++++++++++++-- R/plot_disaggregates.R | 27 +++++++++++++++++++++++++++ R/temp.R | 15 --------------- 3 files changed, 41 insertions(+), 17 deletions(-) delete mode 100644 R/temp.R diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths index c33c885..8186e9c 100644 --- a/.Rproj.user/shared/notebooks/paths +++ b/.Rproj.user/shared/notebooks/paths @@ -1,2 +1,14 @@ -C:/Users/huang/Github/dashdash/DESCRIPTION="6C509801" -C:/Users/huang/Github/dashdash/docs/mexample/mex_dashboard.Rmd="E122CEBA" +/Library/Frameworks/R.framework/Versions/3.6/Resources/library/dashdash/rmd/child.Rmd="FBA5C26F" +/Users/sisihuang/Documents/GitHub/dashdash/DESCRIPTION="FDD3ECA9" +/Users/sisihuang/Documents/GitHub/dashdash/NAMESPACE="FD370DEC" +/Users/sisihuang/Documents/GitHub/dashdash/R/plot_aggregates.R="E20DCDED" +/Users/sisihuang/Documents/GitHub/dashdash/R/temp.R="24E8D678" +/Users/sisihuang/Documents/GitHub/dashdash/docs/index.Rmd="88DAE09A" +/Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_dashboard.Rmd="A04F261E" +/Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_data.csv="D1791882" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/add_maps.Rmd="99D69A53" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/child.Rmd="1498AD5" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/dashdash.Rmd="EC2CBF22" +/Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/ft_plot.Rmd="FDE79D64" +/Users/sisihuang/Documents/GitHub/dashdash/man/hello.Rd="F4426691" +/Users/sisihuang/Documents/GitHub/dashdash/man/plot_disaggregates.Rd="1BF18FD8" diff --git a/R/plot_disaggregates.R b/R/plot_disaggregates.R index 7decab4..d61c486 100644 --- a/R/plot_disaggregates.R +++ b/R/plot_disaggregates.R @@ -17,10 +17,36 @@ row_function <- function(num) { return(row) } +# convert some vars to factor vars +factorize_vars <- function(df, my_vars){ + vars_vec <- names(df) %in% my_vars$variable + factor_vars <- c() + for(i in 1:length(vars_vec)){ + if(vars_vec[i] == T && as.logical(my_vars[my_vars$variable == names(df)[i],]$factor)){ + factor_vars[i] = T + }else{ + factor_vars[i] = F + } + } + # convert to factor vars + df[, factor_vars] <- lapply(df[, factor_vars], factor) + # extract labels of all factor vars + factor_label <- my_vars[my_vars$variable %in% names(df[, factor_vars]), ]$label + # extract factor vars name + factor_var_name <- names(df)[factor_vars] + # change levels of each factor var + for(i in 1:length(factor_var_name)){ + levels(df[[factor_var_name[i]]]) <- unlist(strsplit(factor_label[i], ",")) + } + + return(df) +} + plot_disaggregates_row <- function(df, my_vars, pd = ggplot2::position_dodge(.1), switch = "y", nrow = NULL){ + fac_var <- as.logical(my_vars$factor) vars <- pull(my_vars, variable) var_labs <- my_vars %>% pull(short_label) names(var_labs) <- vars @@ -39,6 +65,7 @@ plot_disaggregates_row <- function(df, my_vars, pd = ggplot2::position_dodge(.1) mutate(se = sd / sqrt(n), ymin=mean-1.96*se, ymax=mean+1.96*se) %>% left_join(ranges) + # Row num for layout nrow <- row_function(length(unique(df2$id))) row_id <- split(unique(df2$id), rep(seq(nrow), each = length(unique(df2$id)) /nrow)) diff --git a/R/temp.R b/R/temp.R deleted file mode 100644 index 39632d1..0000000 --- a/R/temp.R +++ /dev/null @@ -1,15 +0,0 @@ -vars_vec <- names(my_data) %in% my_vars$variable -factor_vars <- c() -for(i in 1:length(vars_vec)){ - if(vars_vec[i] == T && as.logical(my_vars[my_vars$variable == names(my_data)[i],]$factor)){ - factor_vars[i] = T - }else{ - factor_vars[i] = F - } -} -my_data[, factor_vars] <- lapply(my_data[, factor_vars], factor) -factor_label <- my_vars[my_vars$variable %in% names(my_data[, factor_vars]), ]$label -factor_var_name <- names(my_data)[factor_vars] -levels(my_data[[factor_var_name[1]]]) <- c("rural", "urban") -levels(my_data[[factor_var_name[2]]]) <- c("female", "male") -levels(my_data[[factor_var_name[3]]]) <- c("no", "yes") From 9bd4eceb7c0c6771b0c2194f82de495aaa366ad4 Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Thu, 18 Jun 2020 16:03:09 +0200 Subject: [PATCH 6/7] add a new arg nrow --- R/plot_disaggregates.R | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/R/plot_disaggregates.R b/R/plot_disaggregates.R index d61c486..ee69808 100644 --- a/R/plot_disaggregates.R +++ b/R/plot_disaggregates.R @@ -46,7 +46,7 @@ factorize_vars <- function(df, my_vars){ plot_disaggregates_row <- function(df, my_vars, pd = ggplot2::position_dodge(.1), switch = "y", nrow = NULL){ - fac_var <- as.logical(my_vars$factor) + # fac_var <- as.logical(my_vars$factor) vars <- pull(my_vars, variable) var_labs <- my_vars %>% pull(short_label) names(var_labs) <- vars @@ -67,8 +67,13 @@ plot_disaggregates_row <- function(df, my_vars, pd = ggplot2::position_dodge(.1) # Row num for layout - nrow <- row_function(length(unique(df2$id))) - row_id <- split(unique(df2$id), rep(seq(nrow), each = length(unique(df2$id)) /nrow)) + if(is.null(nrow)){ + nrow <- row_function(length(unique(df2$id))) + row_id <- split(unique(df2$id), rep(seq(nrow), each = length(unique(df2$id)) /nrow)) + }else{ + row_id <- split(unique(df2$id), rep(seq(nrow), each = length(unique(df2$id)) /nrow)) + } + # subplot to 4 parts subplots <- list() for(i in 1:nrow){ From 6c22a61610a60a456c05679bb5b2b5c947be675d Mon Sep 17 00:00:00 2001 From: zerinahuang Date: Tue, 23 Jun 2020 17:49:46 +0200 Subject: [PATCH 7/7] fix the error from description file --- .Rproj.user/shared/notebooks/paths | 10 +++++++++- DESCRIPTION | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths index 8186e9c..d8b9c00 100644 --- a/.Rproj.user/shared/notebooks/paths +++ b/.Rproj.user/shared/notebooks/paths @@ -1,8 +1,9 @@ /Library/Frameworks/R.framework/Versions/3.6/Resources/library/dashdash/rmd/child.Rmd="FBA5C26F" /Users/sisihuang/Documents/GitHub/dashdash/DESCRIPTION="FDD3ECA9" /Users/sisihuang/Documents/GitHub/dashdash/NAMESPACE="FD370DEC" +/Users/sisihuang/Documents/GitHub/dashdash/R/current_means.R="A42285E3" /Users/sisihuang/Documents/GitHub/dashdash/R/plot_aggregates.R="E20DCDED" -/Users/sisihuang/Documents/GitHub/dashdash/R/temp.R="24E8D678" +/Users/sisihuang/Documents/GitHub/dashdash/R/plot_disaggregates.R="54B0D33C" /Users/sisihuang/Documents/GitHub/dashdash/docs/index.Rmd="88DAE09A" /Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_dashboard.Rmd="A04F261E" /Users/sisihuang/Documents/GitHub/dashdash/docs/mexample/mex_data.csv="D1791882" @@ -12,3 +13,10 @@ /Users/sisihuang/Documents/GitHub/dashdash/inst/rmd/ft_plot.Rmd="FDE79D64" /Users/sisihuang/Documents/GitHub/dashdash/man/hello.Rd="F4426691" /Users/sisihuang/Documents/GitHub/dashdash/man/plot_disaggregates.Rd="1BF18FD8" +/Users/sisihuang/Documents/ga_blog/_layouts/page.html="A1250034" +/Users/sisihuang/Documents/ga_blog/_layouts/post.html="9DEDC53C" +/Users/sisihuang/Documents/ga_blog/_posts/2020-06-23-my-post.markdown="4ADB0B20" +/Users/sisihuang/Documents/ga_blog/_posts/2020-06-23-welcome-to-jekyll.markdown="FBCDB4E6" +/Users/sisihuang/Documents/ga_blog/about.markdown="36178E39" +/Users/sisihuang/Documents/in_progress.R="A11F17F3" +/Users/sisihuang/Downloads/surveys-master/_site/index.Rmd="CB066735" diff --git a/DESCRIPTION b/DESCRIPTION index 7894555..564f38e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -27,7 +27,7 @@ Depends: tidyselect, table1, checkmate, - gridExtra + gridExtra, data.table, checkmate, zoo