错误:结果的长度必须为12813,而不是0?

时间:2018-12-23 13:00:40

标签: r subset dt

我被要求为一家公司的实习生做编码项目,但我无法完成。但是我没有得到我想完成的工作。出现的错误是:

  

错误:结果的长度必须为12813,而不是0

这是我的代码:

library(shiny)
library(dplyr)
stock<-read.csv("thafinal2.0.csv")

ui <- fluidPage(
dateInput(inputId = 'date1',label = 'Start',value = "2017-08-20"),
dateInput(inputId = 'date2',label = 'Stop',value = "2018-08-20"),
tabPanel("stock", DT::dataTableOutput("table")))
server <- function(input, output) {
output$table<-DT::renderDataTable({
stock %>%
filter(stock$date >= "2018-01-05" & stock$date <= "2018-01-03")
stock })}

shinyApp(ui, server)

我要选择所需范围内的数据。

1 个答案:

答案 0 :(得分:1)

回答戴森。 问题出在代码中:

filter(stock$date >= "2018-01-05" & stock$date <= "2018-01-03")

您同时过滤“ 2018-01-05”之后和“ 2018-01-03”之前的日期,这种操作会导致长度为0的空集。

如果您更改为:

filter(stock$date <= "2018-01-05" & stock$date >= "2018-01-03")

应该可以。