R 如何在下拉菜单中填充shiny app内子目录的csv文件。?
可能的重复项 我有一个小的闪亮的应用程序,为用户提供了一些下拉选项。我在Shining app中创建了一个子目录,即R 如何在下拉菜单中填充shiny app内子目录的csv文件。?,r,csv,shiny,R,Csv,Shiny,可能的重复项 我有一个小的闪亮的应用程序,为用户提供了一些下拉选项。我在Shining app中创建了一个子目录,即data,其中包含csv文件,并显示在下拉菜单中。我使用了下面的代码,但无法访问data子目录中的文件 在ui.r上: filenames <- list.files(pattern="\\.csv") selectInput(inputId="dataset",label= "Choose platform annotation file",filenam
data
,其中包含csv文件,并显示在下拉菜单中。我使用了下面的代码,但无法访问data
子目录中的文件
在ui.r上:
filenames <- list.files(pattern="\\.csv")
selectInput(inputId="dataset",label= "Choose platform annotation file",filenames)
我也试过这个
filenames <- list.files(pattern="\\.csv$data") ## data is my folder inside shiny app.
调用
list.files
时,需要指定要列出其文件的路径,默认路径为当前目录,即包含ui.R
和server.R
文件的目录
尝试:
另外,查看您的输入文件示例,您有许多带有逗号的
基因标题,如果您的csv
文件中的分隔符是逗号,这可能会导致问题。谢谢,这很有效。那么上述问题中的其他问题呢?我真的不知道你的意思,或者问题是什么。加载数据后,dataInput()
会为我返回数据帧。有什么问题吗?也许发布几行数据也会有所帮助。在这里,它还会返回数据框。请查看inputdata
部分中的上述代码,我需要数据进行进一步处理,但我无法做到这一点。我可能错过了我想的东西,我不确定。需要再次查看代码。好的,您是否也可以发布几行您的csv
文件,以查看它的外观,以及inputdata
中的代码是否运行良好?
inputdata <- reactive({
df1 <- data.frame()
df1 <- dataInput()
if (is.null(df1))
return(NULL)
df1[] <- lapply(df1, as.character)
df1 <- df1[df1[,3]!='',]
df1 <- df1[!grepl('[/]', df1$Gene.Title),]
})
filenames <- list.files(pattern="\\.csv$data") ## data is my folder inside shiny app.
ID Gene Title Gene Symbol
1007_s_at discoidin domain receptor tyrosine kinase 1 DDR1
1053_at replication factor C (activator 1) 2, 40kDa 7-Mar
117_at heat shock 70kDa protein 6 (HSP70B') HSPA6
121_at paired box 8 PAX8
1255_g_at guanylate cyclase activator 1A (retina) GUCA1A
1294_at ubiquitin-like modifier activating enzyme 7 UBA7
1320_at protein tyrosine phosphatase, non-receptor PTPN21
1405_i_at chemokine (C-C motif) ligand 5 CCL5/CCL6
1431_at
1438_at EPH receptor B3 EPHB3
1487_at estrogen-related receptor alpha ESRRA
1494_f_at cytochrome P450, family 2 CYP2A6/CYP2
filenames <- list.files(path="data",pattern="\\.csv")
clean_data <- reactive({
#get the data
df1 <- dataInput()
if (is.null(df1))
return(NULL)
df1[] <- lapply(df1, as.character)
#looks for lines that have only zero or more blanks or a slash in column 3 and removes them
df1 <- df1[!grepl("$ *^|/",df1[,3]),]
df1
})
#do what you want with the data, for expample render it as another table
output$annotation <- renderDataTable({
withProgress(message = 'Loading Data . . .', {
clean_data()
})
})