Неверный аргумент для унарного оператора с select и вводом $ some_vector - PullRequest
0 голосов
/ 03 мая 2020

У меня блестящее приложение, и я хотел бы добавить rowSums, но получаю ошибку:

неверный аргумент для унарного оператора

Воспроизводимый пример:

library(tidyverse)
library(shiny)
library(nycflights13)
library(lubridate)

# Define UI for application that draws a histogram
ui <- fluidPage(

   # Application title
   titlePanel("Example Shiny App"),

   # Sidebar with a slider input for number of bins 
   sidebarLayout(
      sidebarPanel(
        selectInput(inputId = "group_dims", 
                    label =  "group_dims", 
                    choices = c("carrier", "origin", "dest", "tailnum"),
                    selected = c("carrier"),
                    multiple = T) # There can be only one
      ),

      # DT table
      mainPanel(
         DT::dataTableOutput("eg_table")
      )
   )
)

# Define server logic required to draw a histogram
server <- function(input, output) {

  # initial preprocessing
  my_flights <- flights %>% 
    filter(month == 11 & day >= 14) %>% # just data for 2 weeks
    mutate(date = ymd(paste(year, month, day, sep = "-"))) %>% 
    select(date, carrier, origin, dest, tailnum, distance) %>% 
    mutate(date = ordered(format(date, "%d-%b"), levels = format(sort(unique(date)), "%d-%b")))


  # recative preprocessing
  my_flights_react <- reactive({
    my_flights %>%
      group_by_at(vars(date, input$group_dims)) %>%
      summarise(distance = sum(distance)) %>%
      pivot_wider(names_from = date, values_from = distance) %>%
      replace(is.na(.), 0) %>%

      ### right here is the problem line ###
      add_column(Total = rowSums(select(., -input$group_dims), na.rm = T))
  })


   output$eg_table <- DT::renderDT({
     my_flights_react() }, options = list(dom = 'tip'))
}

# Run the application 
shinyApp(ui = ui, server = server)

Выделена проблемная строка:

add_column(Total = rowSums(select(., -input$group_dims), na.rm = T))

Если удалить эту строку, приложение загрузится нормально. Я ссылался на другой пост , как добавить rowSums .

Как добавить суммы строк, если в реактивном фрейме данных выбрано различное количество столбцов, выбранных пользователем?

Если вы закомментируете проблемную строку и запустите ее, вы увидите тренд продолжительности полета по дате. Я хотел бы получить сумму продолжительности полета по дате, когда даты в столбцах широкие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...