簡體   English   中英

如何基於data.frame的列表列創建標簽/工具提示

[英]How can I create a label/tooltip based on a list column of a data.frame

我希望在傳單中創建一個英國的選區地圖,當它懸停時提供選區名稱和詳細結果。

數據包含在包含2列的tibble中

  1. 選區,包含名稱
  2. result,這是每個單元格中的列表列,其中包含一個data.frame,包括候選名稱partyvotesorder

我在下面列出了兩個選區的樣本

df <- structure(list(constituency = c("Knowsley", "Bristol West"), 
result = list(structure(list(name = c("George Howarth", "James Spencer", 
"Neil Miney", "Carl Cashman", "Steve Baines"), party = c("Labour", 
"Conservative", "UKIP", "LD", "Green"), votes = c(47351L, 
5137L, 1285L, 1189L, 521L), pc = c(85.34, 9.26, 2.32, 2.14, 
0.94), order = 1:5), .Names = c("name", "party", "votes", 
"pc", "order"), row.names = c(NA, -5L), class = c("tbl_df", 
"tbl", "data.frame")), structure(list(name = c("Thangam Debbonaire", 
"Annabel Tall", "Molly Scott Cato", "Stephen Williams", "Jodian Rodgers"
), party = c("Labour", "Conservative", "Green", "LD", "Money Free Party"
), votes = c(47213L, 9877L, 9216L, 5201L, 101L), pc = c(65.93, 
13.79, 12.87, 7.26, 0.14), order = 1:5), .Names = c("name", 
"party", "votes", "pc", "order"), row.names = c(NA, -5L), class = c("tbl_df", 
"tbl", "data.frame")))), row.names = c(NA, -2L), class = c("tbl_df", 
"tbl", "data.frame"), .Names = c("constituency", "result"))

如果我只是想要標簽中的選區,我會像這樣編碼,我可以應用於傳單輸出:

labels <- sprintf(
              df$constituency
          ) %>% lapply(htmltools::HTML)

但我希望在結果細節中添加。

怎么回事?

labels = lapply(1:length(df$result), function(i) {
  tmp = format(df$result[[i]])
  tmp = tmp[3:length(tmp)]
  tmp[1] = df$constituency[i]
  htmltools::HTML(paste(tmp, collapse = "<br>"))
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM