我试图将输入的字符串值传递给另一个名为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也必须在用户输入文本框之后才传递值,因为我包含了一条隐藏行来暂时停止执行的原因
请建议
答案 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}}