我正在尝试构建一个闪亮的应用程序,该应用程序可以获取一些Twitter信息。 我只想运行在按下操作按钮时调用twitter API的函数。 我已经设置了一个动作按钮,并将其附加到隔离功能,但是当我打开应用程序时,它立即尝试获取Twitter数据。
逻辑是
打开应用
在textInput框中输入搜索词
点击操作按钮
服务器代码被执行,并返回一个包含我的Twitter信息的df
library(shiny)
ui <- fluidPage(
# Application title
#titlePanel("Twitter Analytics"),
fluidRow(
column( 4, titlePanel("Twitter Analytics")),
column( 3),#, textOutput("mysearch") ),
column( 4, textInput("searchstring",
label = "",
value = "")),
column(1,
br(),
actionButton("action", "go"))
)
)
server <- function(input, output) {
output$mysearch <- renderText({
input$action
df <- isolate(search_tweets( input$searchstring , n = 500, include_rts = FALSE))
})
}
shinyApp(ui, server)
如何确保仅在单击此按钮时发生此事件
答案 0 :(得分:1)
您可以使用from sys import stdin
def transform(text):
return text.upper()
open_tag = '[[tag]]'
close_tag = '[[/tag]]'
tag_stack = []
output_tokens = []
for line in stdin:
tokens = line.split(' ')
print(tokens)
for token in tokens:
output_token = token
if len(tag_stack) == 0:
output_tokens.append(transform(output_token))
else:
output_tokens.append(output_token)
if token == open_tag:
tag_stack.append(open_tag)
elif token == close_tag:
tag_stack.pop()
print(' '.join(output_tokens))
。
eventReactive()
因为我没有您的Twitter功能,所以我模拟了一个:
twitter <- eventReactive(input$action,{
search_tweets(input$searchstring)
})
output$mysearch <- renderText({
twitter()
})
完整的示例:
search_tweets <- function(search) return(search)