Я использую листовку для отображения наблюдений.Я также использую htmltools для форматирования текста при наведении, который показывает переменные каждого наблюдения.
Проблема в том, что мне нужна переменная hobbies , которая содержит много строк для отображения в каждой строке.каждый хобби отделяется запятой.
Установка и загрузка необходимых пакетов:
install.packages("leaflet")
library(leaflet)
install.packages("htmltools")
library(htmltools)
Создание фиктивных наблюдений:
name <- c("john", "mary")
age <- c(20, 29)
gender <- c("male", "female")
hobbies <- c("fishing, football, video games", "painting, skiing, body pump, data science")
lat <- c(-12.80103, -12.37845)
long <- c(130.9558, 130.8770)
df <- as.data.frame(cbind(name, age, gender, hobbies, lat, long))
Создание картыиспользуя листовку:
# Designing hover text with HTML
# lapply here necessary - my real data has much more than 2 rows#
labs <- lapply(seq(nrow(df)), function(i) {
paste0( '<p>', "Name : ", df[i, "name"], '<p></p>',
"Age : ", df[i, "age"], ', ',
"Gender : ", df[i, "gender"],'</p><p>',
"Hobbies : ", df[i, "hobbies"], ','
)
})
leaflet(df) %>%
addProviderTiles("Esri.WorldImagery") %>%
addCircleMarkers(lng = ~ long,
lat= ~ lat,
label = lapply(labs, HTML),
clusterOptions = markerClusterOptions()
)
Я получаю следующий вывод:
Я не знаком с синтаксисом HTML.Я не могу понять, как добавить разрывы
для каждого хобби, чтобы показать на отдельной строке с вкладкой, как показано ниже:
Name : mary
Age : 29, Gender : female
Hobbies : painting
skiing
body pump
data science
Любая помощь будет большой спасибо =)