R Shiny Сообщение об ошибке $ оператор недопустим для атомов c векторов - PullRequest
0 голосов
/ 26 февраля 2020

Я создаю приложение Shiny, которое использует GoogleAuthR для извлечения данных из Google Analytics. Приложение Shiny требует от пользователя ввода значения свободного текста. Как в приведенном ниже коде.

Пожалуйста, ознакомьтесь с представлением о функциональности ввода текста с кнопкой выполнения:

library(shiny)

ui <- fluidPage(

  textInput("url", label = h5(strong("URL Checker")), value = "Enter full page URL..."),


  actionButton("exe", "Run Calculator", 
               style="color: #fff; background-color: #337ab7; border-color: #2e6da4"),

  mainPanel(


    textOutput("page")

  ))


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

  observeEvent( input$exe,{
    x <- input$url

    output$page <- renderPrint(x)


  })

}

shinyApp(ui = ui, server = server)

Мне нужно, чтобы текстовое значение (в данном случае URL) затем передавалось в фильтр такой, что данные, возвращаемые из Google Analytics, предназначены только для указанной страницы / URL.

Обычно при использовании API это будет выглядеть примерно так:

pageFilter <- dim_filter("dimension97" , "REGEX","https://SomeWebURL/index.html",not = FALSE)
filts2 <- filter_clause_ga4(list(pageFilter))

Я пытался повторить это методология с использованием приведенного ниже кода;

### ACTION BUTTON
  observeEvent( input$exe,{
    x <- input$url  
    filterPageurl   <- dim_filter("dimension97" , "REGEX", x ,not = FALSE)
    pageFilt <- filter_clause_ga4(list(filterPageurl))

    with_shiny(
      google_analytics,
      view_id(),
      date_range = date_range, 
      dimensions = "date",
      metrics = "users",
      dim_filters = pageFilt,
      max = -1,
      shiny_access_token = auth()
    )



  })

Однако это возвращает ошибку:

Error $ operator is invalid for atomic vectors

На самом деле довольно застрял на этом. Любая помощь с благодарностью.

...