瀏覽代碼

Adding optional frame to get.ggtext

Andrej 4 天之前
父節點
當前提交
a96242b2ef
共有 2 個文件被更改,包括 12 次插入2 次删除
  1. 8 1
      R/hypoAfrica.R
  2. 4 1
      man/get.ggtext.Rd

+ 8 - 1
R/hypoAfrica.R

@@ -167,6 +167,7 @@ get.ggplot<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
 #' @param doseBreaks which doses are in df
 #' @param doseLabels how to label doses in legend
 #' @param timeBreaks where time points are assigned
+#' @param dfAdd additional data frame not checked for statistics (NULL ignored)
 #'
 #' @return grobj with values laid out as text
 #'
@@ -174,7 +175,7 @@ get.ggplot<-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'),
-   timeBreaks=c(0,1,3,4)){
+   timeBreaks=c(0,1,3,4),dfAdd=NULL){
 
    df<-add.p.values.fisher(df,dfRef,var,timeVar,nVar)
    sf<-base::sprintf('%s_sF',var)
@@ -187,6 +188,12 @@ get.ggtext<-function(df,dfRef,var,timeVar='visitid',doseVar='dose',nVar='total',
    }
    colSel<-base::c(timeVar,labelVar,sf,doseVar)
    df1<-base::rbind(df[,colSel],dfRef[,colSel])
+
+   if (!is.null(dfAdd)){
+      dfAdd[,sf]<-base::rep('',nrow(dfAdd))
+      df1<-base::rbind(df1[,colSel],dfAdd[,colSel])
+   }
+
 	ggplot2::ggplot()+
 	ggplot2::geom_text(ggplot2::aes(x=.data[[timeVar]],y=base::as.factor(.data[[doseVar]]),
       label=base::paste0(base::round(.data[[labelVar]], digits = nd),.data[[sf]]),

+ 4 - 1
man/get.ggtext.Rd

@@ -14,7 +14,8 @@ get.ggtext(
   labelVar = NULL,
   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),
+  dfAdd = NULL
 )
 }
 \arguments{
@@ -37,6 +38,8 @@ get.ggtext(
 \item{doseLabels}{how to label doses in legend}
 
 \item{timeBreaks}{where time points are assigned}
+
+\item{dfAdd}{additional data frame not checked for statistics (NULL ignored)}
 }
 \value{
 grobj with values laid out as text