浏览代码

Adding labelVar to get.ggtext to help shape the ouptut in table

Andrej 1 周之前
父节点
当前提交
24d3320aab
共有 3 个文件被更改,包括 15 次插入5 次删除
  1. 10 3
      R/hypoAfrica.R
  2. 1 1
      man/get.ggplot.Rd
  3. 4 1
      man/get.ggtext.Rd

+ 10 - 3
R/hypoAfrica.R

@@ -163,6 +163,7 @@ get.ggplot<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
 #' @param timeVar variable measuring time
 #' @param timeVar variable measuring time
 #' @param doseVar variable for selecting datasets
 #' @param doseVar variable for selecting datasets
 #' @param nVar variable where counts are stored
 #' @param nVar variable where counts are stored
+#' @param labelVar variable to print (if default NULL, var is used directly)
 #' @param doseBreaks which doses are in df
 #' @param doseBreaks which doses are in df
 #' @param doseLabels how to label doses in legend
 #' @param doseLabels how to label doses in legend
 #' @param timeBreaks where time points are assigned
 #' @param timeBreaks where time points are assigned
@@ -171,7 +172,7 @@ get.ggplot<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
 #'
 #'
 #' @export
 #' @export
 
 
-get.ggtext<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
+get.ggtext<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total', labelVar=NULL,
    doseBreaks=c(59.9,60,62,100),doseLabels=c('ref','60 Gy','62 Gy','all'),
    doseBreaks=c(59.9,60,62,100),doseLabels=c('ref','60 Gy','62 Gy','all'),
    timeBreaks=c(0,1,3,4)){
    timeBreaks=c(0,1,3,4)){
 
 
@@ -179,11 +180,17 @@ get.ggtext<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
    sf<-base::sprintf('%s_sF',var)
    sf<-base::sprintf('%s_sF',var)
    dfRef[,sf]<-base::rep('',nrow(dfRef))
    dfRef[,sf]<-base::rep('',nrow(dfRef))
 
 
-   colSel<-base::c(timeVar,var,sf,doseVar)
+   nd=0
+   if (base::is.null(labelVar)){
+      labelVar=var
+      nd=2
+   }
+   colSel<-base::c(timeVar,labelVar,sf,doseVar)
    df1<-base::rbind(df[,colSel],dfRef[,colSel])
    df1<-base::rbind(df[,colSel],dfRef[,colSel])
 	ggplot2::ggplot()+
 	ggplot2::ggplot()+
 	ggplot2::geom_text(ggplot2::aes(x=.data[[timeVar]],y=base::as.factor(.data[[doseVar]]),
 	ggplot2::geom_text(ggplot2::aes(x=.data[[timeVar]],y=base::as.factor(.data[[doseVar]]),
-      label=base::paste0(base::round(.data[[var]], digits = 2),.data[[sf]]),hjust=0.5, vjust=0.5),size=5,df1)+
+      label=base::paste0(base::round(.data[[labelVar]], digits = nd),.data[[sf]]),
+      hjust=0.5, vjust=0.5),size=5,df1)+
 	ggplot2::scale_x_continuous(breaks=timeBreaks,limits=base::c(0,4))+
 	ggplot2::scale_x_continuous(breaks=timeBreaks,limits=base::c(0,4))+
 	ggplot2::scale_y_discrete(breaks=doseBreaks,labels=doseLabels)+
 	ggplot2::scale_y_discrete(breaks=doseBreaks,labels=doseLabels)+
 	ggplot2::theme_classic(base_size=20) +
 	ggplot2::theme_classic(base_size=20) +

+ 1 - 1
man/get.ggplot.Rd

@@ -10,7 +10,7 @@ get.ggplot(
   var,
   var,
   timeVar = "visitid",
   timeVar = "visitid",
   doseVar = "dose",
   doseVar = "dose",
-  nVar = "ntotal",
+  nVar = "total",
   doseBreaks = base::c(60, 62, 100),
   doseBreaks = base::c(60, 62, 100),
   doseLabels = base::c("60 Gy", "62 Gy", "all"),
   doseLabels = base::c("60 Gy", "62 Gy", "all"),
   doseColors = base::c("red", "magenta", "blue"),
   doseColors = base::c("red", "magenta", "blue"),

+ 4 - 1
man/get.ggtext.Rd

@@ -10,7 +10,8 @@ get.ggtext(
   var,
   var,
   timeVar = "visitid",
   timeVar = "visitid",
   doseVar = "dose",
   doseVar = "dose",
-  nVar = "ntotal",
+  nVar = "total",
+  labelVar = NULL,
   doseBreaks = c(59.9, 60, 62, 100),
   doseBreaks = c(59.9, 60, 62, 100),
   doseLabels = c("ref", "60 Gy", "62 Gy", "all"),
   doseLabels = c("ref", "60 Gy", "62 Gy", "all"),
   timeBreaks = c(0, 1, 3, 4)
   timeBreaks = c(0, 1, 3, 4)
@@ -29,6 +30,8 @@ get.ggtext(
 
 
 \item{nVar}{variable where counts are stored}
 \item{nVar}{variable where counts are stored}
 
 
+\item{labelVar}{variable to print (if default NULL, var is used directly)}
+
 \item{doseBreaks}{which doses are in df}
 \item{doseBreaks}{which doses are in df}
 
 
 \item{doseLabels}{how to label doses in legend}
 \item{doseLabels}{how to label doses in legend}