Фрейм данных в Shiny вдоль поиска - PullRequest
0 голосов
/ 01 ноября 2019

Я новичок в блеске. У меня уже есть набор данных в r, который я хочу использовать в блестящем без функции read.csv, так как эти данные поступают из Google Analytics, и я изменил эти данные

Где я должен поместить свой код для извлечения данных из gaа пост код модификации?

В пользовательском интерфейсе или серверной части

Это код для подготовки данных

    query.list <- Init(start.date = "2019-10-29",
                       end.date = "2019-10-30",
                       dimensions = c("ga:dimension1","ga:dimension116"),
                       metrics = c("ga:sessions"),
                       max.results = 60000,
                       sort = "ga:sessions",
                       filters="ga:eventAction!=User Location Error",
                       table.id = "ga:xxxxxxxxx")  
    ga.query <- QueryBuilder(query.list)

    ga.data <- GetReportData(ga.query, token)
    ga.data$col<-strsplit(ga.data$dimension116, "\\|")


x<-ga.data
y<- do.call(rbind, x$col)
#colnames(x) <- LETTERS[1:ncol(x)]


colnames(y)[3]<-"Plus_COde"
colnames(y)[2]<-"Long"
colnames(y)[1]<-"Lat"

df<-cbind(x[c("dimension1","sessions")], y)


#df<- data.frame(do.call('rbind', strsplit(as.character(ga.data$dimension116),'|',fixed=TRUE)))

library(revgeo)

library(ggmap)

af<-df[1:100,]

library(varhandle)
af$Lat <- unfactor(af$Lat)
af$Long <- unfactor(af$Long)


for( i in 1:nrow(af) ) {
  af$address[i] <- revgeocode(as.numeric(af[i, c("Long","Lat")]), output = "address" )
}

Это выходной набор данных с именем dt

  ID Latitude Longitude      Address                             Date
1 311175 10.77294  79.13641   306/65, Parisutham Nagar           30/10/2019  
2 292058 12.97354  77.71762    EPIP Zone, Whitefield, Bengaluru  28/10/2019
3  12979 13.04037  80.19383    Sector 11, K. K. Nagar            29/10/2019

Я хочу один диапазон дат, который я использовал в пользовательском интерфейсе, и я хочу текст, по которому я могу искать некоторые данные. Однако данные не загружаются в "блестящем"

ui.r

ui <- fluidPage(
  titlePanel("Lat Long App"),

  fluidRow(

    column(3,
           dateRangeInput("dates", h3("Date range")))),

  fluidRow(

    column(3, 
           textInput("text", h3("Text input"), 
                     value = "Enter text..."))   
  ),
  tableOutput('dt')  
)

server.r

server <- function(input, output) {
  tableOutput('dt')
}
shinyApp(ui, server)

Я не вижу загруженных данных

1 Ответ

0 голосов
/ 01 ноября 2019

Есть несколько способов сделать это, но сначала просто вставьте всю свою подготовку данных в server.r. Кроме того, ваша таблица сервера неверна. Вам нужен renderDataTable, у которого есть выход, на который есть ссылка в пользовательском интерфейсе.

Проверьте эту ссылку для получения дополнительной информации: https://shiny.rstudio.com/reference/shiny/0.14/renderDataTable.html

Поскольку вы новичок в R и строите приложения, он можетбыть полезным, чтобы найти некоторые учебники в Интернете. Вот хороший пример, чтобы вы начали понимать, как все сходится: https://shiny.rstudio.com/articles/build.html

library(revgeo)
library(ggmap)
library(varhandle)
library(shiny)

ui <- fluidPage(
  titlePanel("Lat Long App"),

  fluidRow(

    column(3,
           dateRangeInput("dates", h3("Date range")))),

  fluidRow(

    column(3, 
           textInput("text", h3("Text input"), 
                     value = "Enter text..."))   
  ),
  tableOutput('dt')  
)

server <- function(input, output) {

query.list <- Init(start.date = "2019-10-29",
                       end.date = "2019-10-30",
                       dimensions = c("ga:dimension1","ga:dimension116"),
                       metrics = c("ga:sessions"),
                       max.results = 60000,
                       sort = "ga:sessions",
                       filters="ga:eventAction!=User Location Error",
                       table.id = "ga:xxxxxxxxx")  
    ga.query <- QueryBuilder(query.list)

    ga.data <- GetReportData(ga.query, token)
    ga.data$col<-strsplit(ga.data$dimension116, "\\|")


x<-ga.data
y<- do.call(rbind, x$col)
#colnames(x) <- LETTERS[1:ncol(x)]


colnames(y)[3]<-"Plus_COde"
colnames(y)[2]<-"Long"
colnames(y)[1]<-"Lat"

df<-cbind(x[c("dimension1","sessions")], y)


#df<- data.frame(do.call('rbind', strsplit(as.character(ga.data$dimension116),'|',fixed=TRUE)))

af<-df[1:100,]


af$Lat <- unfactor(af$Lat)
af$Long <- unfactor(af$Long)


for( i in 1:nrow(af) ) {
  af$address[i] <- revgeocode(as.numeric(af[i, c("Long","Lat")]), output = "address" )
}

  output$dt <- renderDataTable(af)
}
shinyApp(ui, server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...