【发布时间】:2017-01-12 18:46:56
【问题描述】:
我有一个 csv 文件,要上传到闪亮的应用程序中。除其他信息外,csv 文件包含一列名称(输入)和一列与每个名称关联的唯一 ID。基本上我想要发生的是每次用户选择不同的名称时,应用程序都会采用相应的 ID 并将其插入 URL 以将 PNG 图像显示为输出。例如,假设用户选择名称“Joe Smith”,Joe 的唯一 ID 是“smithj01”。我需要应用程序将“smithj01”插入到一个 URL 中,否则该 URL 总是相同的,然后显示 Joe 的图像。如果用户然后选择“John Doe”并且 John 的唯一 ID 是“doej01”,我需要应用程序将“doej01”插入到相同的 URL 中以显示 John 的图像。
我已经尝试在下面的代码中编写一个函数来执行此操作,但它仍然只显示一个带有问号的蓝色框,其中应该显示图像。
我一次又一次地尝试自己解决这个问题,查看了许多其他帖子和示例代码,但我一生都无法解决这个问题。请帮忙!非常感谢!
library(shiny)
injury <- read.csv("injury_app.csv", stringsAsFactors = FALSE)
"player_id" = "ID"
player_photo_url = function(player_id) {
paste0("http://ssref.net/scripts/image_resize.cgi?min=200&url=https://d2cwpp38twqe55.cloudfront.net/req/201612101/images/players/", player_id,".png")
}
ui <- fluidPage(
titlePanel("Title Goes Here"),
sidebarLayout(
sidebarPanel(
selectInput("Player", "Player",
choices = c("Enter a player..." = "", injury$Player))
),
mainPanel(
uiOutput("image")
)
)
)
server <- function(input, output) {
current_player = reactive({
req(input$Player)
})
output$image <- renderUI({tags$img(src = player_photo_url(current_player()["player_id"]))
})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
https://d2cwpp38twqe55.cloudfront.net/req/201612101/images/players/doej01.png返回 HTTP 错误 404 -
HubertL,感谢您的回复!这只是我给出的一个假设示例。例如,真实 ID 是“jamesle01”
-
请包含您的 csv 标题
-
csv 的标题包括“Player”“ID”“Age”“Season”等。对于这个特定示例,我只关心列标题“Player”和“ID”
标签: r image csv shiny reactive-programming