¿Cómo leer archivos .xpt?
Estoy trabajando en una aplicación R shiny que lee archivos xpt.
El código a continuación lee un archivo csv y muestra una tabla. Sin embargo, estoy buscando una forma de ver/mostrar lo mismo desde un archivo .xpt usando la función sasxport.get. ¿Alguien podría ayudarme con esto en R shiny?
app.R (actualmente lee csv)
# Solo ejecutar ejemplos en sesiones interactivas de R
if (interactive()) {
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fileInput("file1", "Elegir archivo CSV",
accept = c(
"text/csv",
"text/comma-separated-values,text/plain",
".csv")
),
tags$hr(),
checkboxInput("header", "Encabezado", TRUE)
),
mainPanel(
tableOutput("contents")
)
)
)
server <- function(input, output) {
output$contents <- renderTable({
# input$file1 será NULL inicialmente. Después de que el usuario seleccione
# y suba un archivo, será un data frame con las columnas 'name', 'size',
# 'type' y 'datapath'. La columna 'datapath' contendrá los nombres de archivo
# locales donde se puede encontrar los datos.
inFile <- input$file1
if (is.null(inFile))
return(NULL)
read.csv(inFile$datapath, header = input$header)
})
}
shinyApp(ui, server)
}
davy.ai
Para mostrar datos de un archivo .xpt usando R Shiny, se puede utilizar la función
sasxport.get
del paquete ‘SASxport’. Aquí hay un ejemplo de código que muestra cómo leer un archivo .xpt y mostrar su contenido en una tabla utilizando una interfaz basada en web:En este código, hemos añadido una entrada de archivo para que el usuario seleccione un archivo .xpt, y hemos modificado la función del servidor para leer los datos del archivo utilizando
sasxport.get
en lugar deread.csv
. Luego convertimos los datos a un data frame y los mostramos utilizandorenderTable
ytableOutput
. Ten en cuenta que también hemos limitado la entrada de archivos para aceptar solo archivos .xpt utilizando el argumentoaccept
defileInput
.