【发布时间】:2020-12-01 11:36:53
【问题描述】:
有人知道使用 Google Analytics 和 R Shiny 跟踪事件的语法吗?
我想跟踪用户在与我的应用交互时选择了哪些输入。所以在这个例子中,我想知道用户何时使用并更改了“PointUseInput”复选框输入。
我尝试按照here 的建议进行操作,但我对 JavaScript 不是很熟悉,所以我不确定如何构造 ga 函数。
# ################################################################################################
# ################################################################################################
# # Sec 1a. Needed Libaries & Input Files
library(shiny)
library(shinydashboard)
library(leaflet)
library(dplyr)
##The Data
Map_DF <- data.frame("Point_ID" = c("A1", "B1", "C3"),
"Latitude" = c(38.05, 39.08, 40.05),
"Longitude" = c(-107.00, -107.05, -108.00),
"PointUse" = c("farm", "house", "well"))
################################################################################################
################################################################################################
#UI
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
### tags$head(includeHTML(("google-analytics.html"))), #Google Analytics html tag here
checkboxGroupInput(inputId = "PointUseInput", label = "Select Point Use", choices = Map_DF$PointUse, selected = Map_DF$PointUse)
),
dashboardBody(
fluidRow(leafletOutput(outputId = 'mapA'))
)
)
################################################################################################
################################################################################################
server <- function(input, output, session) {
## The Filter
filterdf <- reactive({
Map_DF %>%
filter(PointUse %in% input$PointUseInput)
})
## Base Map Creation
output$mapA <- renderLeaflet({
leaflet() %>%
addProviderTiles(
providers$Esri.DeLorme,
options = providerTileOptions(
updateWhenZooming = FALSE,
updateWhenIdle = TRUE)
) %>%
setView(lng = -107.50, lat = 39.00, zoom = 7)
})
## Update Map with Filter Selection
observe({
leafletProxy("mapA", session) %>%
clearMarkers() %>%
addCircleMarkers(
data = filterdf(),
radius = 10,
color = "red",
lat = ~Latitude,
lng = ~Longitude,
popupOptions(autoPan = FALSE),
popup = ~paste("PointUse: ", filterdf()$PointUse))
})
}
################################################################################################
################################################################################################
shinyApp(ui = ui, server = server)
使用随附的 google-analytics JavaScript 代码...
$(document).on('change', 'select', function(e) {
ga('send', 'event', 'category', 'action', 'label', value);
});
【问题讨论】:
标签: javascript r shiny google-analytics