googleVis icon indicating copy to clipboard operation
googleVis copied to clipboard

Org Chart under shiny 0.11.1 and shinydashboard

Open alainva opened this issue 10 years ago • 8 comments

Hi,

I use googleVis_0.4.7 (in other Org Chart) to publish the taxonomy of risk solvency2 (about it thank you for the latest version of ChainLadder). One of the feature is to display the correlation matrix if you click on a block of risk diversification (Diversification Market Risk, No Risk Life, ...)

Using shiny 0.11.1 under shinybootstrap2 this is not a problem, but I migrated my application to shinydashboard_0.2.3 and I can not see the matrix despite the capture of diversification selected block (see the alert function).

Below is the functions used (recovering the block name in shiny input with $ selected)

Do you have a solution to this problem ?

A big thank you for your help.

Alain

output$S2Taxo <- renderGvis({

jscode <- "var sel = chart.getSelection();
var c = sel[0].row;
var text = data.getValue(c, 0);               
alert(text);
$('input#selected').val(text);
$('input#selected').trigger('change');"   

if (input$Taxo==FALSE){

SII_Taxo_S<-dplyr::filter(dbTaxoDyn(), Origin=='SCR')
gvisOrgChart(SII_Taxo_S, idvar = "KeyRisk", parentvar = "KeyParentLevel2", tipvar="Value",  options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE))
}
else if (input$Taxo==TRUE){
gvisOrgChart(dbTaxoDyn(), idvar = "KeyRisk", parentvar = "KeyParent", tipvar="Value",  options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE))
}

})

  dataTaxo<-reactive({ # Search Risk Nr 1 vvv<-readTaxoMulti(input$selected) #cat(vvv$FieldName) return(vvv)

})

observe({ if (is.null(input$selected))
return()
isolate({

  v<-readTaxoMulti(input$selected)  

  pub<-paste(v$FieldName," :  ",v$FieldValue)

})  

})

#Correlation Matrix  #
######################

CorrelMatrix<-reactive ({
# Error message 
validate(
  need(dataTaxo()$FieldName != "", "Please click on a Diversification block to see the correlation matrix")
)

SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="NoCorr",]
if(dataTaxo()$FieldName=="DiversificationBSCR")
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_BSCR",]}
else if (dataTaxo()$FieldName=="DiversificationNONLIFE")
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_nonlife",]}
else if (dataTaxo()$FieldName=="Diversification LIFE")
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_Life",]}
else if (dataTaxo()$FieldName=="DiversificationMARKET")
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_market_down",]}
else if (dataTaxo()$FieldName=="Diversification HEALTH")
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_health",]}
else if (is.na(dataTaxo()$FieldName)) 
{SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="NoCorr",]}


dimMat <- dim(SII_COR_SEL)[1]^0.5
aaa <- melt(SII_COR_SEL)
bbb <- as.data.frame(cast(aaa, Item1 ~ Item2))
cat(bbb)
return(bbb)
})

output$correlaM <- renderTable({

CorrelMatrix()
})

sessionInfo() R version 3.1.2 (2014-10-31) Platform: i386-w64-mingw32/i386 (32-bit)

locale: [1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252
[3] LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C
[5] LC_TIME=Dutch_Belgium.1252

attached base packages: [1] stats graphics grDevices utils datasets methods
[7] base

other attached packages: [1] shinydashboard_0.2.3 geoR_1.7-4
[3] sp_1.0-9 fOptions_3010.83
[5] fBasics_3010.86 MASS_7.3-35
[7] timeSeries_3010.97 timeDate_3010.98
[9] quantmod_0.4-0 TTR_0.22-0
[11] Defaults_1.1-1 tseries_0.10-32
[13] xts_0.9-7 ggplot2_0.9.3.1
[15] PerformanceAnalytics_1.1.0 dygraphs_0.3.3
[17] shinyBS_0.25 shinysky_0.1.2
[19] lattice_0.20-29 scales_0.2.4
[21] RColorBrewer_1.0-5 leaflet_1.0
[23] hwriter_1.3 data.table_1.8.8
[25] rHighcharts_1.0 RJSONIO_1.0-3
[27] actuar_1.1-6 shiny_0.11.1
[29] ChainLadder_0.2.0 statmod_1.4.17
[31] systemfit_1.1-14 lmtest_0.9-31
[33] zoo_1.7-11 car_2.0-21
[35] Matrix_1.1-4 stringr_0.6.2
[37] googleVis_0.4.7 dplyr_0.4.0
[39] reshape_0.8.4 plyr_1.8.1
[41] RODBC_1.3-6 JavaGD_0.6-1
[43] codetools_0.2-9

loaded via a namespace (and not attached): [1] assertthat_0.1 cluster_1.15.3 colorspace_1.2-4
[4] DBI_0.3.1 digest_0.6.4 grid_3.1.2
[7] gtable_0.1.2 Hmisc_3.12-2 htmltools_0.2.6
[10] htmlwidgets_0.3.2 httpuv_1.3.2 lme4_0.999999-2
[13] magrittr_1.5 mime_0.2 munsell_0.4.2
[16] nlme_3.1-118 nnet_7.3-8 parallel_3.1.2
[19] proto_0.3-10 quadprog_1.5-5 R6_2.0
[22] RandomFields_2.0.66 Rcpp_0.11.3 reshape2_1.4
[25] rpart_4.1-8 sandwich_2.2-10 SparseM_1.05
[28] splancs_2.01-32 stabledist_0.6-6 stats4_3.1.2
[31] tools_3.1.2 tweedie_2.1.7 xtable_1.7-4
[34] yaml_2.1.13

alainva avatar Mar 27 '15 09:03 alainva

I also had the same problem. shinydashboard is not rendering OrgChart and SankeCharts from googleVis. I think the problem is with shinydashboard.

Sent from my iPhone

On Mar 27, 2015, at 5:16 AM, alainva [email protected] wrote:

Hi,

I use googleVis_0.4.7 (in other Org Chart) to publish the taxonomy of risk solvency2 (about it thank you for the latest version of ChainLadder). One of the feature is to display the correlation matrix if you click on a block of risk diversification (Diversification Market Risk, No Risk Life, ...)

Using shiny 0.11.1 under shinybootstrap2 this is not a problem, but I migrated my application to shinydashboard_0.2.3 and I can not see the matrix despite the capture of diversification selected block (see the alert function).

Below is the functions used (recovering the block name in shiny input with $ selected)

Do you have a solution to this problem ?

A big thank you for your help.

Alain

output$S2Taxo <- renderGvis({

jscode <- "var sel = chart.getSelection(); var c = sel[0].row; var text = data.getValue(c, 0);
alert(text); $('input#selected').val(text); $('input#selected').trigger('change');"

if (input$Taxo==FALSE){

SII_Taxo_S<-dplyr::filter(dbTaxoDyn(), Origin=='SCR') gvisOrgChart(SII_Taxo_S, idvar = "KeyRisk", parentvar = "KeyParentLevel2", tipvar="Value", options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE)) } else if (input$Taxo==TRUE){ gvisOrgChart(dbTaxoDyn(), idvar = "KeyRisk", parentvar = "KeyParent", tipvar="Value", options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE)) }

})   dataTaxo<-reactive({

Search Risk Nr 1

vvv<-readTaxoMulti(input$selected) #cat(vvv$FieldName) return(vvv)

}) observe({ if (is.null(input$selected))

return()

isolate({

v<-readTaxoMulti(input$selected)

pub<-paste(v$FieldName," : ",v$FieldValue)

})
})

###################### #Correlation Matrix # ######################

CorrelMatrix<-reactive ({

Error message

validate( need(dataTaxo()$FieldName != "", "Please click on a Diversification block to see the correlation matrix") )

SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="NoCorr",] if(dataTaxo()$FieldName=="DiversificationBSCR") {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_BSCR",]} else if (dataTaxo()$FieldName=="DiversificationNONLIFE") {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_nonlife",]} else if (dataTaxo()$FieldName=="Diversification LIFE") {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_Life",]} else if (dataTaxo()$FieldName=="DiversificationMARKET") {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_market_down",]} else if (dataTaxo()$FieldName=="Diversification HEALTH") {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="Agg_matrix_health",]} else if (is.na(dataTaxo()$FieldName)) {SII_COR_SEL<-SII_COR[SII_COR[,"Matrix"]=="NoCorr",]}

dimMat <- dim(SII_COR_SEL)[1]^0.5 aaa <- melt(SII_COR_SEL) bbb <- as.data.frame(cast(aaa, Item1 ~ Item2)) cat(bbb) return(bbb) })  

output$correlaM <- renderTable({

CorrelMatrix() }) sessionInfo() R version 3.1.2 (2014-10-31) Platform: i386-w64-mingw32/i386 (32-bit)

locale: [1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252

[3] LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C

[5] LC_TIME=Dutch_Belgium.1252

attached base packages: [1] stats graphics grDevices utils datasets methods

[7] base

other attached packages: [1] shinydashboard_0.2.3 geoR_1.7-4

[3] sp_1.0-9 fOptions_3010.83

[5] fBasics_3010.86 MASS_7.3-35

[7] timeSeries_3010.97 timeDate_3010.98

[9] quantmod_0.4-0 TTR_0.22-0

[11] Defaults_1.1-1 tseries_0.10-32

[13] xts_0.9-7 ggplot2_0.9.3.1

[15] PerformanceAnalytics_1.1.0 dygraphs_0.3.3

[17] shinyBS_0.25 shinysky_0.1.2

[19] lattice_0.20-29 scales_0.2.4

[21] RColorBrewer_1.0-5 leaflet_1.0

[23] hwriter_1.3 data.table_1.8.8

[25] rHighcharts_1.0 RJSONIO_1.0-3

[27] actuar_1.1-6 shiny_0.11.1

[29] ChainLadder_0.2.0 statmod_1.4.17

[31] systemfit_1.1-14 lmtest_0.9-31

[33] zoo_1.7-11 car_2.0-21

[35] Matrix_1.1-4 stringr_0.6.2

[37] googleVis_0.4.7 dplyr_0.4.0

[39] reshape_0.8.4 plyr_1.8.1

[41] RODBC_1.3-6 JavaGD_0.6-1

[43] codetools_0.2-9

loaded via a namespace (and not attached): [1] assertthat_0.1 cluster_1.15.3 colorspace_1.2-4

[4] DBI_0.3.1 digest_0.6.4 grid_3.1.2

[7] gtable_0.1.2 Hmisc_3.12-2 htmltools_0.2.6

[10] htmlwidgets_0.3.2 httpuv_1.3.2 lme4_0.999999-2

[13] magrittr_1.5 mime_0.2 munsell_0.4.2

[16] nlme_3.1-118 nnet_7.3-8 parallel_3.1.2

[19] proto_0.3-10 quadprog_1.5-5 R6_2.0

[22] RandomFields_2.0.66 Rcpp_0.11.3 reshape2_1.4

[25] rpart_4.1-8 sandwich_2.2-10 SparseM_1.05

[28] splancs_2.01-32 stabledist_0.6-6 stats4_3.1.2

[31] tools_3.1.2 tweedie_2.1.7 xtable_1.7-4

[34] yaml_2.1.13

— Reply to this email directly or view it on GitHub.

ncdingari avatar Mar 27 '15 10:03 ncdingari

Hi Alain, Can you please provide a minimal reproducible example in R that I can run on my side? Have you tried updating googleVis to the current version?

Thanks

Markus

mages avatar Mar 27 '15 19:03 mages

Hi Markus

Thank you for your reply Attached is an example (a version in shinydashboard and the other shinyboostrap2) the goal is to get the name of the block clicked by the user

thank you for your help

Alain

On Fri, Mar 27, 2015 at 8:53 PM, Markus Gesmann [email protected] wrote:

Hi Alain, Can you please provide a minimal example in R that I can run on my side? Have you tried updating googleVis to the current version?

Thanks

Markus

— Reply to this email directly or view it on GitHub https://github.com/mages/googleVis/issues/13#issuecomment-87070874.

Alain Vanlanduyt 0474/900.446

alainva avatar Mar 30 '15 10:03 alainva

Hi Alain,

I can't see the attached file. Perhaps you can add a link instead.

Thanks

Markus

mages avatar Mar 30 '15 20:03 mages

Hi Markus

For the version under bootstrap2 the code was :

server.r

shinybootstrap2::withBootstrap2({

server <- function(input, output,session) {

output$Test1 <- renderGvis({

jscode <- "var sel = chart.getSelection();

var c = sel[0].row;

var text = data.getValue(c, 0);

alert(text);

$('input#selected').val(text);

$('input#selected').trigger('change');"

Org <- gvisOrgChart(Regions, options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE))

})

output$BlocSelect <- renderText({

paste("Bloc : ", dataT())

})

observe({

if (is.null(input$selected))

return()

isolate({

v<-(input$selected)

pub<-paste(" : ",v)

})

})

dataT<-reactive({

Search Risk Nr 1

vvv<-(input$selected)

cat(vvv)

return(vvv)

})

}

})

ui.R

shinybootstrap2::withBootstrap2({

shinyUI(bootstrapPage(

shinyUI(navbarPage(title="TestOrgChart",id="test",

tabPanel("Tab1",

div(class="span4", strong(textOutput("BlocSelect"))),

div(class="row",div(class="span12",chartOutput("Test1")))

)

))

))

}) and with shinydashboard

server.r (the same without shinybootstrap2)

server <- function(input, output,session) {

output$Test1 <- renderGvis({

jscode <- "var sel = chart.getSelection();

var c = sel[0].row;

var text = data.getValue(c, 0);

alert(text);

$('input#selected').val(text);

$('input#selected').trigger('change');"

Org <- gvisOrgChart(Regions, options=list(gvis.listener.jscode=jscode,width=300, height=600,allowHtml=TRUE, size='large', allowCollapse=TRUE))

})

output$BlocSelect <- renderText({

paste("Bloc : ", dataT())

})

observe({

if (is.null(input$selected))

return()

isolate({

v<-(input$selected)

pub<-paste(" : ",v)

})

})

dataT<-reactive({

Search Risk Nr 1

vvv<-(input$selected)

#cat(vvv$FieldName)

return(vvv)

})

}

ui.r

library(shinydashboard)

ui <- dashboardPage(

dashboardHeader(title = "Test OrgChart"),

dashboardSidebar(

menuItem("Test", tabName = "TestOrg")

),

dashboardBody(

tabItems(

tabItem(tabName = "TestOrg",

box(title = "Input", status = "warning", solidHeader = TRUE,width = NULL,textOutput("BlocSelect")),

box(title = "OrgChart", status = "primary", solidHeader = TRUE,width = NULL,chartOutput("Test1"))

)

)

)

)

Thanks for your help

Alain

On Mon, Mar 30, 2015 at 10:45 PM, Markus Gesmann [email protected] wrote:

Hi Alain,

I can't see the attached file. Perhaps you can add a link instead.

Thanks

Markus

— Reply to this email directly or view it on GitHub https://github.com/mages/googleVis/issues/13#issuecomment-87826322.

Alain Vanlanduyt 0474/900.446

alainva avatar Mar 31 '15 14:03 alainva

Alain,

I have added missing library calls to your code and I believe it works. You find the code here: https://gist.github.com/2cfd64245c5e1243ca83.git

Here is screen shot (session info below): shinydashboard

sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.2 (Yosemite)

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shinybootstrap2_0.2.1 googleVis_0.5.8       rHighcharts_1.0       RJSONIO_1.3-0        
[5] shinydashboard_0.3.0  shiny_0.11.1         

loaded via a namespace (and not attached):
[1] digest_0.6.8    htmltools_0.2.6 httpuv_1.3.2    jsonlite_0.9.14 mime_0.2       
[6] R6_2.0.1        Rcpp_0.11.5     tools_3.1.3     xtable_1.7-4

mages avatar Mar 31 '15 20:03 mages

Hi Markus

Thank you for your answer.

I got the same result but the goal is to retrieve the name of the block clicked by the user and to publish it in the input box via textOutput function ("BlocSelect") of ui.R and via recative function dataT () of server.R

Do you have this?

Thank you in advance

Alain

On Tue, Mar 31, 2015 at 10:22 PM, Markus Gesmann [email protected] wrote:

Alain,

I have added missing library calls to your code and I believe it works. You find the code here: https://gist.github.com/2cfd64245c5e1243ca83.git

Here is screen shot: [image: shinydashboard] https://cloud.githubusercontent.com/assets/1146581/6928416/ceabb62a-d7eb-11e4-988d-20c1bf6c86df.png

sessionInfo() R version 3.1.3 (2015-03-09) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.10.2 (Yosemite)

locale: [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] shinybootstrap2_0.2.1 googleVis_0.5.8 rHighcharts_1.0 RJSONIO_1.3-0 [5] shinydashboard_0.3.0 shiny_0.11.1

loaded via a namespace (and not attached): [1] digest_0.6.8 htmltools_0.2.6 httpuv_1.3.2 jsonlite_0.9.14 mime_0.2 [6] R6_2.0.1 Rcpp_0.11.5 tools_3.1.3 xtable_1.7-4

— Reply to this email directly or view it on GitHub https://github.com/mages/googleVis/issues/13#issuecomment-88232764.

Alain Vanlanduyt 0474/900.446

alainva avatar Apr 01 '15 19:04 alainva

Hi Alain,

Oh, now I understand what you would like to achieve. Unfortunately I don’t think that I can help you with this.

Regards

Markus

On 1 Apr 2015, at 20:10, alainva [email protected] wrote:

Hi Markus

Thank you for your answer.

I got the same result but the goal is to retrieve the name of the block clicked by the user and to publish it in the input box via textOutput function ("BlocSelect") of ui.R and via recative function dataT () of server.R

Do you have this?

Thank you in advance

Alain

On Tue, Mar 31, 2015 at 10:22 PM, Markus Gesmann [email protected] wrote:

Alain,

I have added missing library calls to your code and I believe it works. You find the code here: https://gist.github.com/2cfd64245c5e1243ca83.git

Here is screen shot: [image: shinydashboard] https://cloud.githubusercontent.com/assets/1146581/6928416/ceabb62a-d7eb-11e4-988d-20c1bf6c86df.png

sessionInfo() R version 3.1.3 (2015-03-09) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.10.2 (Yosemite)

locale: [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] shinybootstrap2_0.2.1 googleVis_0.5.8 rHighcharts_1.0 RJSONIO_1.3-0 [5] shinydashboard_0.3.0 shiny_0.11.1

loaded via a namespace (and not attached): [1] digest_0.6.8 htmltools_0.2.6 httpuv_1.3.2 jsonlite_0.9.14 mime_0.2 [6] R6_2.0.1 Rcpp_0.11.5 tools_3.1.3 xtable_1.7-4

— Reply to this email directly or view it on GitHub https://github.com/mages/googleVis/issues/13#issuecomment-88232764.

Alain Vanlanduyt 0474/900.446 — Reply to this email directly or view it on GitHub https://github.com/mages/googleVis/issues/13#issuecomment-88597832.

mages avatar Apr 01 '15 20:04 mages