将文本框值传递给R文件

时间:2017-03-22 04:52:40

标签: r shiny

我试图将输入的字符串值传递给另一个名为test.R的R文件,点击按钮

传递的值 ntext 输入到test.R中的另一个变量

Server.R

shinyServer(function(input, output) {



  ntext <- eventReactive(input$goButton, {input$text})

  output$ntext <- renderText({ntext()

    assign('ntext',envir=.GlobalEnv)

    })
})

不可见(readline(提示=“按[enter]继续”)) 源( “test.R”)

Ui.R

shinyUI(fluidPage(
  titlePanel("Sentiment Analysis"),

  sidebarLayout(
    sidebarPanel(
      helpText("See current opinion around the globe " ),
      textInput("text", "Keyword"),
      actionButton("goButton", "Go!"),



      mainPanel(
           mainPanel(uiOutput('tweets_txt'))



    )
  )
))

Test.R

s<-searchTwitter(ntext(),100,lang="en")

df <- do.call("rbind", lapply(s, as.data.frame))
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub=""))

#tweets_txt<-sapply(df$text,function(x) x$getText())

write.table(df$text,file="C:/Users/mtech/Desktop/Twitter/EXTRACT/SentiT/output.txt")

tweets_txt<-df$text

我按照你的建议编辑了代码但是没有将值传递给Test.R也必须在用户输入文本框之后才传递值,因为我包含了一条隐藏行来暂时停止执行的原因

请建议

1 个答案:

答案 0 :(得分:1)

正如评论前面所述,这似乎有效

testfunc <- function(texts){

  print(texts)
}

我的test.R文件如下所示,它在控制台上打印文本:

source("Test.R")
server <- shinyServer(function(input, output) {

    ntext <- eventReactive(input$goButton, {input$text})

    output$tweets_txt <- renderText({

      searchInTwitter(ntext())
      ntext()
    })
  })

<强> [编辑]:

根据您编辑的代码,我已经以我认为应该工作的方式更改了您的服务器和Test.R文件。

服务器如下:

searchInTwitter <- function(ntext){
  s<-searchTwitter(ntext,100,lang="en")

  df <- do.call("rbind", lapply(s, as.data.frame))
  df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub=""))

  #tweets_txt<-sapply(df$text,function(x) x$getText())

  write.table(df$text,file="C:/Users/mtech/Desktop/Twitter/EXTRACT/SentiT/output.txt")

  # tweets_txt<-df$text
}

Test.R如下:

{{1}}