我正在尝试创建一个简单的天气显示,它将根据温度更改信息框颜色。颜色值是正确的,因为它显示正确,但颜色参数不会识别颜色。
它报告
validateColor(color) 中的错误:无效的颜色:。有效颜色为:红色、黄色、浅绿色、蓝色、浅蓝色、绿色、海军蓝、蓝绿色、橄榄色、石灰色、橙色、紫红色、紫色、栗色、黑色。另外:警告消息:在 if (color %in% validColors) { :条件的长度 > 1 并且只会使用第一个元素
代码如下所示,关键行前有注释
library(shiny)
library(shinydashboard)
library(RWeather)
getColor <- function(station) {
t <- as.numeric(getWeatherFromNOAA(station_id = station, message = FALSE)$temp_c)
if(t > 30)
{return('red')}
else if (t < 5)
{return('blue')}
else return('yellow')
}
header <- dashboardHeader(title = 'Current weather')
sidebar <- dashboardSidebar()
boxCity <- box(selectInput('station', 'City:', choices = c('Atlanta' = 'KATL', 'Chicago' = 'KORD', 'Fairbanks' = 'PAFA', 'New York' = 'KJFK', 'Phoenix' ='KPHX'), selected = 'KATL'))
boxCondition <- box(title = 'Current …
Run Code Online (Sandbox Code Playgroud)