Skip to content

Commit

Permalink
ImportFrom highr in NAMESPACE, and replace global assignments with op…
Browse files Browse the repository at this point in the history
…tions() for shiny apps
  • Loading branch information
juba committed Nov 12, 2013
1 parent 5534c34 commit c9b7585
Show file tree
Hide file tree
Showing 10 changed files with 30 additions and 26 deletions.
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,5 @@ export(rprop)
export(wtd.mean)
export(wtd.table)
export(wtd.var)
importFrom(highr,hi_html)
importFrom(shiny,runApp)
5 changes: 3 additions & 2 deletions R/icut.r
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,22 @@
##' icut(hdv2003, "age")
##' irec(hdv2003, heures.tv) ## this also works}
##' @importFrom shiny runApp
##' @importFrom highr hi_html
##' @export

icut <- function(df, oldvar) {
## Check if df is an object or a character string
if (!is.character(df)) df <- deparse(substitute(df))
## Check if df is a data frame
if (!is.data.frame(get(df))) stop(sQuote(paste0(df, ' must be a data frame.')))
assign(".questionr_icut_df", df, envir=.GlobalEnv)
options(questionr_icut_df=df)
## If oldvar is not a character string, deparse it
is_char <- FALSE
try(if(is.character(oldvar)) is_char <- TRUE, silent=TRUE)
if (!is_char) oldvar <- deparse(substitute(oldvar))
## Check if oldvar is a column of df
if (!(oldvar %in% names(get(df)))) stop(sQuote(paste0(oldvar, ' must be a column of ', df, '.')))
assign(".questionr_icut_oldvar", oldvar, envir=.GlobalEnv)
options(questionr_icut_oldvar=oldvar)
## Run shiny app
invisible(shiny::runApp(system.file("icut", package="questionr")))
}
5 changes: 3 additions & 2 deletions R/iorder.R
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,22 @@
##' \dontrun{data(hdv2003)
##' iorder(hdv2003, "qualif")}
##' @importFrom shiny runApp
##' @importFrom highr hi_html
##' @export

iorder <- function(df, oldvar) {
## Check if df is an object or a character string
if (!is.character(df)) df <- deparse(substitute(df))
## Check if df is a data frame
if (!is.data.frame(get(df))) stop(sQuote(paste0(df, ' must be a data frame.')))
assign(".questionr_iorder_df", df, envir=.GlobalEnv)
options(questionr_iorder_df=df)
## If oldvar is not a character string, deparse it
is_char <- FALSE
try(if(is.character(oldvar)) is_char <- TRUE, silent=TRUE)
if (!is_char) oldvar <- deparse(substitute(oldvar))
## Check if oldvar is a column of df
if (!(oldvar %in% names(get(df)))) stop(sQuote(paste0(oldvar, ' must be a column of ', df, '.')))
assign(".questionr_iorder_oldvar", oldvar, envir=.GlobalEnv)
options(questionr_iorder_oldvar=oldvar)
## Run shiny app
invisible(shiny::runApp(system.file("iorder", package="questionr")))
}
5 changes: 3 additions & 2 deletions R/irec.r
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,22 @@
##' irec(hdv2003, "qualif")
##' irec(hdv2003, sexe) ## this also works}
##' @importFrom shiny runApp
##' @importFrom highr hi_html
##' @export

irec <- function(df, oldvar) {
## Check if df is an object or a character string
if (!is.character(df)) df <- deparse(substitute(df))
## Check if df is a data frame
if (!is.data.frame(get(df))) stop(sQuote(paste0(df, ' must be a data frame.')))
assign(".questionr_irec_df", df, envir=.GlobalEnv)
options(questionr_irec_df=df)
## If oldvar is not a character string, deparse it
is_char <- FALSE
try(if(is.character(oldvar)) is_char <- TRUE, silent=TRUE)
if (!is_char) oldvar <- deparse(substitute(oldvar))
## Check if oldvar is a column of df
if (!(oldvar %in% names(get(df)))) stop(sQuote(paste0(oldvar, ' must be a column of ', df, '.')))
assign(".questionr_irec_oldvar", oldvar, envir=.GlobalEnv)
options(questionr_irec_oldvar=oldvar)
## Run shiny app
invisible(shiny::runApp(system.file("irec", package="questionr")))
}
4 changes: 2 additions & 2 deletions inst/icut/server.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ library(highr)

## Global variables
## Original data frame name and object
df_name <- get(".questionr_icut_df", .GlobalEnv)
df_name <- getOption("questionr_icut_df")
df <- get(df_name)
## Variable to be recoded, name and object
oldvar_name <- get(".questionr_icut_oldvar", .GlobalEnv)
oldvar_name <- getOption("questionr_icut_oldvar")
oldvar <- df[,oldvar_name]
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
Expand Down
8 changes: 4 additions & 4 deletions inst/icut/ui.R
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ library(shiny)
library(xtable)

## Global variables
df_name <- get(".questionr_icut_df", .GlobalEnv)
df_name <- getOption("questionr_icut_df")
df <- get(df_name)
oldvar_name <- get(".questionr_icut_oldvar", .GlobalEnv)
oldvar_name <- getOption("questionr_icut_oldvar")
oldvar <- df[,oldvar_name]
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
sprintf('%s[,"%s"]', df_name, oldvar_name),
sprintf('%s$%s', df_name, oldvar_name))

## Flag to display the alert on first time launch
display_alert <- !exists(".questionr_displayed_alert", .GlobalEnv)
if (display_alert) assign(".questionr_displayed_alert", FALSE, envir=.GlobalEnv)
display_alert <- is.null(getOption("questionr_displayed_alert"))
if (display_alert) options(questionr_displayed_alert=TRUE)

summary_table <- function(v) {
out <- "<table class='table table-bordered table-condensed' id='sumtable'>"
Expand Down
4 changes: 2 additions & 2 deletions inst/iorder/server.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ library(highr)

## Global variables
## Original data frame name and object
df_name <- get(".questionr_iorder_df", .GlobalEnv)
df_name <- getOption("questionr_iorder_df")
df <- get(df_name)
## Variable to be recoded, name and object
oldvar_name <- get(".questionr_iorder_oldvar", .GlobalEnv)
oldvar_name <- getOption("questionr_iorder_oldvar")
oldvar <- df[,oldvar_name]
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
Expand Down
10 changes: 5 additions & 5 deletions inst/iorder/ui.R
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
library(shiny)

## Global variables
df_name <- get(".questionr_iorder_df", .GlobalEnv)
df_name <- getOption("questionr_iorder_df")
df <- get(df_name)
oldvar_name <- get(".questionr_iorder_oldvar", .GlobalEnv)
oldvar_name <- getOption("questionr_iorder_oldvar")
oldvar <- df[,oldvar_name]
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
sprintf('%s[,"%s"]', df_name, oldvar_name),
sprintf('%s$%s', df_name, oldvar_name))

## Flag to display the alert on first time launch
display_alert <- !exists(".questionr_displayed_alert", .GlobalEnv)
if (display_alert) assign(".questionr_displayed_alert", FALSE, envir=.GlobalEnv)
display_alert <- is.null(getOption("questionr_displayed_alert"))
if (display_alert) options(questionr_displayed_alert=TRUE)


generate_levels_ol <- function(oldvar) {
Expand Down Expand Up @@ -47,7 +47,7 @@ shinyUI(bootstrapPage(
div(class="span8",
div(class="alert alert-dismissable",
HTML('<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'),
HTML("<strong>Warning :</strong> This inteface doesn't do anything by itself. It only generates R code you'll have to copy/paste into your script and execute yourself.")
HTML("<strong>Warning :</strong> This interface doesn't do anything by itself. It only generates R code you'll have to copy/paste into your script and execute yourself.")
)))} else "",

## First panel : new variable name and recoding style
Expand Down
4 changes: 2 additions & 2 deletions inst/irec/server.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ library(highr)

## Global variables
## Original data frame name and object
df_name <- get(".questionr_irec_df", .GlobalEnv)
df_name <- getOption("questionr_irec_df")
df <- get(df_name)
## Variable to be recoded, name and object
oldvar_name <- get(".questionr_irec_oldvar", .GlobalEnv)
oldvar_name <- getOption("questionr_irec_oldvar")
oldvar <- df[,oldvar_name]
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
Expand Down
10 changes: 5 additions & 5 deletions inst/irec/ui.R
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
library(shiny)

## Global variables
df_name <- get(".questionr_irec_df", .GlobalEnv)
oldvar_name <- get(".questionr_irec_oldvar", .GlobalEnv)
df_name <- getOption("questionr_irec_df")
oldvar_name <- getOption("questionr_irec_oldvar")
## Formatted source variable name
src_var <- ifelse(grepl(" ", oldvar_name),
sprintf('%s[,"%s"]', df_name, oldvar_name),
sprintf('%s$%s', df_name, oldvar_name))

## Flag to display the alert on first time launch
display_alert <- !exists(".questionr_displayed_alert", .GlobalEnv)
if (display_alert) assign(".questionr_displayed_alert", FALSE, envir=.GlobalEnv)
display_alert <- is.null(getOption("questionr_displayed_alert"))
if (display_alert) options(questionr_displayed_alert=TRUE)

shinyUI(bootstrapPage(

Expand All @@ -31,7 +31,7 @@ shinyUI(bootstrapPage(
div(class="span12",
div(class="alert alert-dismissable",
HTML('<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'),
HTML("<strong>Warning :</strong> This inteface doesn't do anything by itself. It only generates R code you'll have to copy/paste into your script and execute yourself.")
HTML("<strong>Warning :</strong> This interface doesn't do anything by itself. It only generates R code you'll have to copy/paste into your script and execute yourself.")
)))} else "",

## First panel : new variable name and recoding style
Expand Down

0 comments on commit c9b7585

Please sign in to comment.