我目前正在编写一个闪亮的应用程序,用于导入数据集并显示操作版本。为了处理闪亮的方法,我目前正在开发一个显示导入数据集的简化版本。我目前将导入的数据集分配给反应值,然后使用渲染表,如下所示: -
shinyServer(function(input, output) {
DATA<-reactive({
input$filein
})
output$Dataset <- renderTable({
DATA()
})
})
接口然后生成一个包含以下列的表: - 名称,大小,类型,数据路径。
我想到的是调用datapath变量,并使用read.csv在renderTable函数中调用它。我尝试使用: -
DATA()$datapath
然而,这似乎不会产生任何结果。有没有其他方法可以在Shiny中提取这些数据?我考虑使用矢量索引,就像你使用常规R代码一样,但是我不确定它是否能在Shiny中工作。
答案 0 :(得分:0)
以下是当前工作目录中文件的示例。我使用的示例文件是一个最小的csv文件(见底部)。但请注意,这确实仅限于工作目录中的文件。如果您想要加载其他文件,则需要另外一个组件来指定路径(可能在selectInput
中)。
library(shiny)
library(tools)
runApp(
list(
ui = pageWithSidebar(
headerPanel("File Info Test"),
sidebarPanel(
p("Demo Page."),
selectInput("filein", "Choose File", choices=c("test.csv"))
),
mainPanel(
tableOutput("myTableInfo"),
tableOutput("myTable")
)
),
server = function(input, output){
mydata <- reactive({
read.csv(input$filein)
})
file_info <- reactive({
validate(
need(!is.null(input$filein), "please select file"
)
)
name <- input$filein
size <- file.info(input$filein)[['size']]
type <- file_ext(input$filein)
datapath <- file_path_as_absolute(input$filein)
cbind(name, size, type, datapath)
})
output$myTableInfo <- renderTable({
file_info()
})
output$myTable <- renderTable({
mydata()
})
}
)
)
test.csv
X1,X2,X3
1,2,3
4,5,6