STORENUMBER가 데이터를 필터링하고 아래의 맵과 테이블을 렌더링하지만 DMA는 렌더링하지 않습니다. subset()은 server.r의 정수와 다른 요소에서 작동합니까?반짝이 r 부분 집합 인자 입력
데이터
STORENUMBER = c(123,456)
DMA = c("LA","SD")
LATITUDE = c(130, 132)
LONGITUDE = c(30,35)
locations = data.frame(STORENUMBER, DMA, LATITUDE, LONGITUDE)
ui.r : 여기
tabItem(tabName = "control",
fluidPage(
titlePanel("Control Center"),
fluidRow(
# the Stores are integers
column(6,
helpText("Test Stores"),
# test stores
selectInput("testStores",
label ="Test Stores",
choices = as.vector(unique(locations$STORENUMBER)),
selected = NULL,
multiple = TRUE)
),
# the DMAs are factors
column(6,
helpText("Test DMA"),
selectInput("tDMA",
label ="Test DMAs",
choices = as.vector(unique(locations$DMA)),
selected = NULL,
multiple = TRUE)
) #column
), #fluidRow
fluidRow(
titlePanel("Map"),
leafletOutput("map"),
p(),
actionButton("recalc", "New points")
) ,
fluidRow(
titlePanel("Test Store Table"),
column(12,
DT::dataTableOutput("tableteststores")
)
)
) #fluidPage
)
서브셋() 함수를 나타내는 server.r 스크립트이다.
server.r :
shinyServer(function(input, output){
# not sure why DMA isn't working
tstores <- reactive({
subset(locations, DMA %in% input$tDMA | STORENUMBER %in% input$testStores)
})
# table of locations
output$tableteststores <- DT::renderDataTable(DT::datatable(
data <- as.data.frame(tstores())
))
# map
output$map <- renderLeaflet({
leaflet() %>%
addProviderTiles("Stamen.TonerLite",
options = providerTileOptions(nonWrap = TRUE)
) %>%
addMarkers(data = tstores())
})
})
테스트 데이터를 제공하지 않았으므로이 문제는 [reproducible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)이 아닙니다. 정확히 "렌더링하지 않는다"는 것은 무엇을 의미합니까? 오류가 있습니까? 귀하가 선택한 DMA 값이 귀하에게 표시되었거나 숫자를 보여주고 있습니까? – MrFlick
이제 테스트 데이터를 추가하여 재현 할 수 있습니다. 양식 필드에서 입력 개체를 볼 수 있지만 DMA를 선택하면지도 개체와 tableteststores 개체가 데이터를 반환하지 않습니다. STORENUMBER를 선택하면지도와 태블릿 저장소에서 개체를 반환합니다. 따라서 subset() 함수는 정수 STORENUMBER에 대해 작동하지만 DMA 요인에 대해서는 작동하지 않습니다. 너의 생각에 개방적이야. 감사. – JL82559
제공하신 코드에 어떤 종류의 오류도 복제 할 수 없습니다. DMA를 통한 필터링은 정상적으로 작동하는 것 같습니다. – MrFlick