1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #' Sum columns in data frame df where some of the entries might be NA
- #'
- #' @param df data frame
- #' @param var1 first column
- #' @param var2 second column
- #' @param outVar which variable to store sum into
- #' @param valIfNA which value to use for NA
- #'
- #' @return updated data frame
- #' @export
- #'
- ## examples df<-sumWithNA(df,'lesionmtv41','metastasesmtv41','totalmtv41',0)
- sumWithNA<-function(df,var1='lesionmtv41',var2='metastasesmtv41',outVar='totalmtv41',valIfNA=0){
- v1=df[,var1]
- v2=df[,var2]
- v1[is.na(v1)]=valIfNA
- v2[is.na(v2)]=valIfNA
- df[,outVar]=v1+v2
- df
-
- }
- #' Map variable time OS status to status at cutoff
- #'
- #' @param df data frame
- #' @param cutoff time instance where OS is evaluated, same units as timeVar
- #' @param timeVar name of column where times of status evaluation are recorded (from treatment start)
- #' @param osVar name of column with status at evaluation (1-alive/progress free, 2-censored, 3-dead/w/disease)
- #' @param targetVar name of target variable holding status at cutoff (0-dead, 1-alive, 2-censored)
- #'
- #' @return updated data frame with targetVar
- #' @export
- selectValid<-function(df,cutoff=2,timeVar='years_to_event',osVar='st_osMAP',targetVar='osAtCutoff'){
- #if alive and ytoevent>c -> alive
- #if censored and ytoe>c -> alive
- #if dod and ytovent>c -> alive
- df[,targetVar]=1
- #if alive and ytoe<c -> censored
- df[(df[,timeVar]<cutoff) & df[,osVar] == 1,targetVar]=2
- #if censored and ytoe<c -> censored
- df[df[,timeVar]<cutoff & df[,osVar] == 2,targetVar]=2
- #if dod and ytovent<c -> dead
- df[df[,timeVar]<cutoff & df[,osVar] == 3,targetVar]=0
- df
- }
|