Я хочу добавить к другому фрейму данных в зависимости от того, является ли возвращаемое значение 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)
}