Odabirom opcije Choose Data File te klikom na gumb Browse… biramo mapu i datoteku u kojoj se nalaze podaci. Klikom na gumb Import data učitava se i prokazuje tablica podataka.

VAŽNO!

Podaci za statističko-grafičku analizu trebaju biti pripremljeni na sljedeći način:

Datoteke s podacima mogu biti kreirane u:

library(shiny)
library(bs4Dash)
library(DT)
library(datamods)

ui <- bs4DashPage(
  help = NULL,
  dark = TRUE,
  # Header
  header = dashboardHeader(
    title = bs4DashBrand(
      title = "R - STAT",
    )
  ),
  sidebar = bs4DashSidebar(
    disable = FALSE,
    width = "320px",
    skin = "dark",
    elevation = 4,
    collapsed = F,
    minified = F,
    bs4SidebarMenu(
      bs4SidebarMenuItem("Choose Data File", tabName = "data", icon = icon("folder-open"))
      )
  ),
  body = bs4DashBody(
                     tabItems(
                       # Import Data
                       tabItem(tabName = "data",
                               fluidRow(
                                 box(title = "Choose Data File",
                                     width = 3,
                                     collapsible = F,
                                     icon = icon("folder-open"),
                                     import_file_ui(
                                       id = "myid",
                                       preview_data = T,
                                       file_extensions = c(".csv", ".xls", ".xlsx", ".sav", ".ods"),
                                     )
                                 ),
                                 box(title = "View Data",
                                     width = 9,
                                     collapsible = F,
                                     maximizable = T,
                                     icon = icon("table-cells"),
                                     dataTableOutput("data")
                                 )
                            )
                    )
             )
      )
)
server <- function(input, output) {
  
  id <- import_file_server(
    id = "myid",
    btn_show_data = TRUE,
    show_data_in = "modal",
  )
  observeEvent(input$do, {
    dbWriteTable(conn = db, id$data(), name = id$name(), row.names = FALSE, overwrite = TRUE)
  })
  output$data <- renderDataTable({
    my_data <- id$data()
    n <- nrow(my_data)
    my_data %>% 
      DT::datatable (rownames = TRUE,
                     style = "bootstrap5",
                     class = "compact",
                     extensions = c("Buttons"),
                     options = list(pageLength = n, 
                                    dom = 'Bt', 
                                    buttons = 'copy'
                                    )
                    )
  })
}
shinyApp(ui, server)
LS0tDQp0aXRsZTogIlXEjWl0YXZhbmplIHRhYmxpY2UgcG9kYXRha2EiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCnRoZW1lOiBkYXJrbHkNCi0tLQ0KDQpPZGFiaXJvbSBvcGNpamUgKipDaG9vc2UgRGF0YSBGaWxlKiogdGUga2xpa29tIG5hIGd1bWIgKipCcm93c2UuLi4qKiBiaXJhbW8gbWFwdSBpIGRhdG90ZWt1IHUga29qb2ogc2UgbmFsYXplIHBvZGFjaS4gS2xpa29tIG5hIGd1bWIgKipJbXBvcnQgZGF0YSoqIHXEjWl0YXZhIHNlIGkgcHJva2F6dWplIHRhYmxpY2EgcG9kYXRha2EuDQoNClZBxb1OTyENCg0KUG9kYWNpIHphIHN0YXRpc3RpxI1rby1ncmFmacSNa3UgYW5hbGl6dSB0cmViYWp1IGJpdGkgcHJpcHJlbWxqZW5pIG5hIHNsamVkZcSHaSBuYcSNaW46DQoNCi0gICBwcnZpIHN0dXBhYyB0YWJsaWNlIHMgcG9kYWNpbWEgc2FkcsW+aSBqZWRpbnN0dmVuZSBvem5ha2UgZW50aXRldGEgLCBvZG5vc25vIGVudGl0ZXRpIG5lIHNtaWp1IGltYXRpIGlzdHUgb3puYWt1DQoNCi0gICBvc3RhbGkgc3R1cGNpIHRhYmxpY2UgcyBwb2RhY2ltYSBzYWRyxb5lIHBvZGF0a2UgZW50aXRldGEgdSB2YXJpamFibGFtYQ0KDQotICAgb3puYWtlIChrb2RvdmkpIG1vZGFsaXRldGEga3ZhbGl0YXRpdm5paCB2YXJpamFibGkgbmUgc21panUgYml0aSBicm9qZXZpDQoNCkRhdG90ZWtlIHMgcG9kYWNpbWEgbW9ndSBiaXRpIGtyZWlyYW5lIHU6DQoNCi0gICBDb21tYSBTZXBhcmF0ZWQgVmFsdWVzICguY3N2KSAsDQoNCi0gICBNaWNyb3NvZnQgRXhjZWwgV29ya3NoZWV0ICgueGxzeCksDQoNCi0gICBMaWJyZU9mZmljZSBPcGVuIERvY3VtZW50IFNwcmVhZHNoZWV0ICgub2RzKSBpDQoNCi0gICBTUFNTIFN0YXRpc3RpY3MgRGF0YSBEb2N1bWVudCAoLnNhdikgZm9ybWF0dS4NCg0KYGBge3J9DQpsaWJyYXJ5KHNoaW55KQ0KbGlicmFyeShiczREYXNoKQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZGF0YW1vZHMpDQoNCnVpIDwtIGJzNERhc2hQYWdlKA0KICBoZWxwID0gTlVMTCwNCiAgZGFyayA9IFRSVUUsDQogICMgSGVhZGVyDQogIGhlYWRlciA9IGRhc2hib2FyZEhlYWRlcigNCiAgICB0aXRsZSA9IGJzNERhc2hCcmFuZCgNCiAgICAgIHRpdGxlID0gIlIgLSBTVEFUIiwNCiAgICApDQogICksDQogIHNpZGViYXIgPSBiczREYXNoU2lkZWJhcigNCiAgICBkaXNhYmxlID0gRkFMU0UsDQogICAgd2lkdGggPSAiMzIwcHgiLA0KICAgIHNraW4gPSAiZGFyayIsDQogICAgZWxldmF0aW9uID0gNCwNCiAgICBjb2xsYXBzZWQgPSBGLA0KICAgIG1pbmlmaWVkID0gRiwNCiAgICBiczRTaWRlYmFyTWVudSgNCiAgICAgIGJzNFNpZGViYXJNZW51SXRlbSgiQ2hvb3NlIERhdGEgRmlsZSIsIHRhYk5hbWUgPSAiZGF0YSIsIGljb24gPSBpY29uKCJmb2xkZXItb3BlbiIpKQ0KICAgICAgKQ0KICApLA0KICBib2R5ID0gYnM0RGFzaEJvZHkoDQogICAgICAgICAgICAgICAgICAgICB0YWJJdGVtcygNCiAgICAgICAgICAgICAgICAgICAgICAgIyBJbXBvcnQgRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICB0YWJJdGVtKHRhYk5hbWUgPSAiZGF0YSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmx1aWRSb3coDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3godGl0bGUgPSAiQ2hvb3NlIERhdGEgRmlsZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxhcHNpYmxlID0gRiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gaWNvbigiZm9sZGVyLW9wZW4iKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRfZmlsZV91aSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkID0gIm15aWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld19kYXRhID0gVCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfZXh0ZW5zaW9ucyA9IGMoIi5jc3YiLCAiLnhscyIsICIueGxzeCIsICIuc2F2IiwgIi5vZHMiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94KHRpdGxlID0gIlZpZXcgRGF0YSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSA5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxhcHNpYmxlID0gRiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6YWJsZSA9IFQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IGljb24oInRhYmxlLWNlbGxzIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlT3V0cHV0KCJkYXRhIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICApDQogICAgICApDQopDQpzZXJ2ZXIgPC0gZnVuY3Rpb24oaW5wdXQsIG91dHB1dCkgew0KICANCiAgaWQgPC0gaW1wb3J0X2ZpbGVfc2VydmVyKA0KICAgIGlkID0gIm15aWQiLA0KICAgIGJ0bl9zaG93X2RhdGEgPSBUUlVFLA0KICAgIHNob3dfZGF0YV9pbiA9ICJtb2RhbCIsDQogICkNCiAgb2JzZXJ2ZUV2ZW50KGlucHV0JGRvLCB7DQogICAgZGJXcml0ZVRhYmxlKGNvbm4gPSBkYiwgaWQkZGF0YSgpLCBuYW1lID0gaWQkbmFtZSgpLCByb3cubmFtZXMgPSBGQUxTRSwgb3ZlcndyaXRlID0gVFJVRSkNCiAgfSkNCiAgb3V0cHV0JGRhdGEgPC0gcmVuZGVyRGF0YVRhYmxlKHsNCiAgICBteV9kYXRhIDwtIGlkJGRhdGEoKQ0KICAgIG4gPC0gbnJvdyhteV9kYXRhKQ0KICAgIG15X2RhdGEgJT4lIA0KICAgICAgRFQ6OmRhdGF0YWJsZSAocm93bmFtZXMgPSBUUlVFLA0KICAgICAgICAgICAgICAgICAgICAgc3R5bGUgPSAiYm9vdHN0cmFwNSIsDQogICAgICAgICAgICAgICAgICAgICBjbGFzcyA9ICJjb21wYWN0IiwNCiAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbnMgPSBjKCJCdXR0b25zIiksDQogICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gbGlzdChwYWdlTGVuZ3RoID0gbiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20gPSAnQnQnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnMgPSAnY29weScNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgKQ0KICB9KQ0KfQ0Kc2hpbnlBcHAodWksIHNlcnZlcikNCmBgYA0K