Блестящий: наблюдайте другое состояние и добавляйте к другому - PullRequest
0 голосов
/ 31 марта 2020

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

Проблема с if statement в observe, он добавляет новые данные в разные кадры данных в зависимости от того, AM это или PM. Это выглядит очень глупо для меня, чтобы написать заявление if. Это не выглядит правильным для меня? Это правильный способ сделать это? Как я могу сделать это лучше?

Код выглядит следующим образом:

data_processing <- function(csv_file){
    df  <-  read.csv(csv_file)
    ...
    ...
    # ampm takes either "AM" or "PM"
    return(list(df=df,AMPM=ampm))
}

server <- function(input, output, session) {
   reactive_values <- reactiveValues(
       df_AM_Agg <- tibble(),
       df_PM_Agg <- tibble()
   )

    # PROBLEM is the below statement, it seems so clumsy. I am not sure if this will work.
    # If I need to perform further functions,
    # I need to keep on specifying more if statements with the same structure below. 
    # 
    observe({
        if(df_update()$AMPM == "AM"){
            reactive_values$xts_bars_AM_Agg = rbind.xts(df_AM_Agg ,df_update())
        } else if(df_update()$AMPM == "PM"){
            reactive_values$xts_bars_PM_Agg = rbind.xts(df_PM_Agg ,df_update())
        }
    })

    df_update <- reactiveFileReader(intervalMillis = 10000,session=NULL,
                                    filePath = "output.csv",
                                    readFunc = data_processing)

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