在R传单中有没有办法将不同的图标分配到特定的位置?

在R传单中有没有办法将不同的图标分配到特定的位置?,r,function,leaflet,reprex,R,Function,Leaflet,Reprex,我正在为当地的一个学区开发一个闪亮的应用程序,它将为那些根据空气污染状况不应该休息的学校展示一面旗帜。该应用程序将过滤特定的一天,我添加了一个名为“休会”的专栏,根据空气污染物,它的标签是“待在里面!”或“继续玩!”。然后我创建了一个图标列表——一个儿童游戏图标“继续玩!”和一个危险图标“呆在里面!” 我遇到的问题是函数。我正试图让它告诉传单,为当天可以休息的学校展示儿童游戏图标,为当天不应该休息的学校展示危险图标 下面是我遇到的问题的一个例子: # Load Libraries library

我正在为当地的一个学区开发一个闪亮的应用程序,它将为那些根据空气污染状况不应该休息的学校展示一面旗帜。该应用程序将过滤特定的一天,我添加了一个名为“休会”的专栏,根据空气污染物,它的标签是“待在里面!”或“继续玩!”。然后我创建了一个图标列表——一个儿童游戏图标“继续玩!”和一个危险图标“呆在里面!”

我遇到的问题是函数。我正试图让它告诉传单,为当天可以休息的学校展示儿童游戏图标,为当天不应该休息的学校展示危险图标

下面是我遇到的问题的一个例子:

# Load Libraries
library(tidyverse)
library(leaflet)



# Vectors
Schools <- c("CHS", "BHS", "DHS")
latitude <- c(60, 61, 62)
longitude <- c(100, 101, 102)
recess <- c("Stay Inside!", "Play on!", "Play on!")

# Data frame
bad_air <- data.frame(Schools, latitude, longitude, recess)

# Map Icons
recessIcons <- awesomeIconList(
  child = makeAwesomeIcon(icon = "child", library = "fa", 
                          markerColor = "blue"),
  danger = makeAwesomeIcon(icon = "exclamation", library = "fa", 
                           markerColor = "darkred")
)

# Function to grab map icon
getrecessIcon <- function(bad_air){
  sapply(bad_air$recess, function(recess){
    if(bad_air$recess == "Stay Inside"){
      recessIcons$child
    } else {
      recessIcons$danger
    }
  })
}

# Build Leaflet Map
leaflet(bad_air) %>%
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addAwesomeMarkers(~longitude,
                    ~latitude,
                    icon = ~getrecessIcon(bad_air),
                    label = ~Schools,
                    labelOptions = labelOptions(noHide = F))

我哪里做错了?任何帮助都将不胜感激

我认为这可以在不使用该函数的情况下简化

添加一列
图标
,以指示要为每个学校/行使用的图标:

bad_air$icon <- ifelse(bad_air$recess == "Stay Inside!", "danger", "child")
bad_air$icon <- ifelse(bad_air$recess == "Stay Inside!", "danger", "child")
# Build Leaflet Map
leaflet(bad_air) %>%
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addAwesomeMarkers(~longitude,
                    ~latitude,
                    icon = ~recessIcons[icon],
                    label = ~Schools,
                    labelOptions = labelOptions(noHide = F))