.Rmd shiny debug: "this tidyselect interface doesn't support predicates yet"

Bom dia,

Estou criando um dash simples pelo Rmarkdown usando runtime: shiny, porém estou tendo este erro em dois gráficos highcharter “this tidyselect interface doesn’t support predicates yet”. Não consegui resolver com as pesquisas no google e a função browser() para debuggar funciona somente num app shiny, ou shinydashboard.

Segue o link com o código Rmarkdown completo para ajudar na análise.

Obrigado pela ajuda.

Oi, Augusto.
Não consegui acessar o código :frowning:
Séra que você pode postar o código (pelo menos o que gera os gráficos) aqui?

Um abraço,

Subi o arquivo completo no google drive, acho que é mais fácil de acessar.
https://drive.google.com/open?id=1BhrCTJuk4YnhpNag53LA88MXzKtZgMXG

Assimetria por Ativo

skew_sum <- eventReactive(input$go, ignoreNULL = FALSE, {
    skew_sum <- 
      asset_returns_long() %>% 
      group_by(asset) %>% 
      summarise(skewness = skewness(retornos)) %>% 
      add_row(asset = "Portfolio",
              skewness = skewness(portfolio_returns_tq_rebalanced_monthly()$retornos))
})

renderHighchart({
  
  hchart(skew_sum(), type = "column",
         hcaes(x = asset, y = skewness, color = asset)) %>% 
  hc_xAxis(title = list(text = NULL)) %>% 
  hc_yAxis(title = list(text = "Assimetria")) %>% 
  # hc_add_theme(hc_theme_google()) %>%
  hc_tooltip(valueDecimals = 2,
             headerFormat = '<span style="font-size: 14px">{point.key}</span><br/>',
             pointFormat = '<span style="color:{point.color}">●</span> Assimetria: <b>{point.y}</b><br/>', 
             useHTML = TRUE)
})

Assimetria x Risco

skew_sum_c <- eventReactive(input$go, ignoreNULL = FALSE, {
    skew_sum_c <- 
      asset_returns_long() %>% 
      group_by(asset) %>% 
      summarise(sd = sd(retornos),
              skewness = skewness(retornos)) %>% 
      add_row(asset = "Portfolio",
            sd = sd(portfolio_returns_tq_rebalanced_monthly()$retornos),
            skewness = skewness(portfolio_returns_tq_rebalanced_monthly()$retornos)) 
})

renderHighchart({
  
  hchart(skew_sum_c(), type = "scatter",
         hcaes(x = sd, y = skewness, group = asset)) %>% 
  hc_plotOptions(scatter = list(marker = list(radius = 10))) %>% 
  hc_xAxis(title = list(text = "Desvio Padrão")) %>% 
  hc_yAxis(title = list(text = "Assimetria"),
           plotLines = list(list(
             value = 0,
             width = 2,
             color = "black",
             dashStyle = "dash"))) %>% 
  hc_legend(enabled = TRUE) %>% 
  hc_annotations(list(
    labels = list(
      list(point = list(
        x = sd(portfolio_returns_tq_rebalanced_monthly()$retornos),
        y = skewness(portfolio_returns_tq_rebalanced_monthly()$retornos)*0.9,
        xAxis = 0, yAxis = 0), text = "Portfólio")))) %>%
  hc_tooltip(shared = TRUE,
             headerFormat = '<span style="font-size: 14px"><b>{series.name}</b></span><br/>',
             pointFormat = 'Assimetria: <b>{point.y:.2f}</b><br> DesvPad: <b>{point.x:.2f}</b>')
})

Acho que encontrei o problema.

Na objeto reactivo asset_returns_tq_builtin, você precisa definir o objeto symbols. Ele dá erro no select(date, symbols).

asset_returns_tq_builtin <- eventReactive(input$go, ignoreNULL = FALSE, {

    asset_returns_tq_builtin <- 
      prices() %>%
      tk_tbl(preserve_index = TRUE,
             rename_index = "date") %>%
      gather(asset, prices, -date) %>%
      group_by(asset) %>%
      tq_transmute(mutate_fun = periodReturn,
                   period = "monthly",
                   type = "log") %>%
      spread(asset, monthly.returns) %>%
      select(date, symbols) %>%
      slice(-1)
})
2 curtidas

Sensacional.
Com a sua dica também identifiquei que faltou o “w” em outro objeto reativo.

Você é um monstro. Muito Obrigado.

Vou continuar para os demais tópicos, por enquanto o resultado está assim.

3 curtidas