【发布时间】:2016-05-17 15:42:35
【问题描述】:
如果之前有人问过这个问题,我深表歉意。 我正在尝试运行一个基本的 R 闪亮应用程序,我将关键字作为文本输入,在该关键字上搜索数据框,然后打印结果(数据框中的某些项目)
我不知道我哪里出错了。当我运行下面的代码时,什么都没有发生!没有提交/操作按钮,因为我在 textInput 中使用默认值。
# ui.R
shinyUI(fluidPage(
h1("Gene Finder",align="left"),
fluidRow(
column(3,
wellPanel(textInput("text", label = h4("Enter Identifier"), value = "BRCA1"))
),
column(6,verbatimTextOutput("genename"))
)
)
)
服务器.R
# Server.R
setwd("/shiny-apps/sample-apps/test-1")
load("/shiny-apps/sample-apps/test-1/GenesHg19.RData")
findIdentifier <- function(genename) {
if(length(grep("ENSG",genename))==0) {
genename <- as.character(GenesHg19$external_gene_id[which(GenesHg19$external_gene_id==genename)])
} else {
genename <- as.character(GenesHg19$ensembl_gene_id[which(GenesHg19$ensembl_gene_id==genename)])
}
return(genename)
}
shinyServer(function(input,output) {
tada <- reactive({ findIdentifier(genename=as.character(input$text)) })
output$genename <- renderPrint({
paste("Other known identifiers of",input$text,"are",tada)
})
})
GenesHg19.RData 看起来像这样
【问题讨论】:
-
首先你有一个错字在最后一行
gename应该是genename -
@warmoverflow 抱歉,已修复。还是没有解决问题
-
将
genename <- findIdentifier(genename=input$text)移动到output$genename。也许最好提供一个最小的例子,因为我们不能用上面的代码测试任何东西。 -
这并不是一个完整的例子。例如这是什么:
source('~/.active-rstudio-document')你在加载一些额外的代码吗?如果没有至少几行GenesHg18数据框,就很难判断您在做什么。 -
如果我注释掉我没有的所有内容,它会很好。