Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在SQL查询中选择input作为输入,以获取信息_R_Shiny - Fatal编程技术网

R 在SQL查询中选择input作为输入,以获取信息

R 在SQL查询中选择input作为输入,以获取信息,r,shiny,R,Shiny,在R中工作,尝试使用下拉菜单中的选定值/字符串作为sql查询中的输入。问题是我收到了下面的错误消息。我该怎么解决这个问题?其思想是,通过从下拉菜单中选择输入(本例中为资产类),您将能够在折线图中绘制相应的返回数据。我从SO中获取了粘贴函数,但没有让它与input$showDrop一起使用。当整个查询被硬编码时,图表工作正常 错误:$运算符对原子向量无效 见下面的代码: library(shiny) library(RODBC) ui <- shinyUI( fluidPage(

在R中工作,尝试使用下拉菜单中的选定值/字符串作为sql查询中的输入。问题是我收到了下面的错误消息。我该怎么解决这个问题?其思想是,通过从下拉菜单中选择输入(本例中为资产类),您将能够在折线图中绘制相应的返回数据。我从SO中获取了粘贴函数,但没有让它与input$showDrop一起使用。当整个查询被硬编码时,图表工作正常

错误:$运算符对原子向量无效

见下面的代码:

library(shiny)
library(RODBC)

ui <- shinyUI(
   fluidPage(
      titlePanel("Application Title"),

      ch <- odbcDriverConnect('driver={SQL Server};server=SERVER;database=DATABASE;trusted_connection=true')
      showList <- sqlQuery(ch, "SELECT DISTINCT [Asset] FROM [TABLE] Where [Market] = 'US' ORDER BY [Asset]", stringsAsFactors = FALSE)

      selectInput("showDrop", "Select Asset", showList),

      plotOutput("cumReturn")
   ))

server <- shinyServer(function(input, output) {
   output$cumReturn <- renderPlot({
      ch <- odbcDriverConnect('driver={SQL Server};server=SERVER;database=DATABASE;trusted_connection=true')
      returns <- sqlQuery(ch, paste("SELECT [Asof], [Data] FROM [TABLE] where [Market] = 'US' AND [Asset] = ", input$showDrop))
      dfx = xts(returns$Data-1, order.by=as.Date(returns$Asof))
      chart.CumReturns(dfx, main = "Accumulated return", wealth.index = TRUE, geometric = TRUE, legend.loc = NULL, ylog = TRUE,
                 colorset = (1:12), begin = c("first", "axis"))
   })
})

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(RODBC)

ui您需要包含一个复制错误的示例数据集。但不确定这有什么关系,因为如果查询是“硬编码”的,它就可以正常工作。当我尝试将粘贴函数与输入$showDrop一起使用以使查询动态时,会发生一些情况。我甚至不知道什么是“原子向量”。这很重要,因为你的例子是不可复制的。我们需要运行您的代码来调试它…现在解决它是因为两个原因:1。我使用paste0而不是paste(不知道两者的区别)2。我忘了在“[Asset]=”后面加上“符号”,不管怎样,下一个问题是我想有两个下拉列表,一个是我选择[Market](现在硬编码为“US”,但应该是任何可用的)的地方,另一个是上面的[Asset](每个市场都有一组资产)。到目前为止,资产查询和下拉列表写在ui中,返回在服务器中定义。如何使用Market创建一个selectInput,并将其值作为第二个selectInput(for Asset)中的输入?您需要包含一个复制错误的样本数据集。但不确定这有什么关系,因为如果查询是“硬编码”的,它可以正常工作。当我尝试将粘贴函数与输入$showDrop一起使用以使查询动态时,会发生一些情况。我甚至不知道什么是“原子向量”。这很重要,因为你的例子是不可复制的。我们需要运行您的代码来调试它…现在解决它是因为两个原因:1。我使用paste0而不是paste(不知道两者的区别)2。我忘了在“[Asset]=”后面加上“符号”,不管怎样,下一个问题是我想有两个下拉列表,一个是我选择[Market](现在硬编码为“US”,但应该是任何可用的)的地方,另一个是上面的[Asset](每个市场都有一组资产)。到目前为止,资产查询和下拉列表写在ui中,返回在服务器中定义。您将如何使用Market创建一个selectInput,并将其值作为第二个selectInput(针对资产)的输入?