小编E K*_*ith的帖子

R - 如何基于单个当前值有条件地在矢量中设置多个值

我有一个类似于下面的例子的数据集.我希望能够做的是根据非缺失值及其相关的"名称"为所有缺失值分配正确的"标题"值.因此,所有名称为"A"的条目都将具有标题"X",并且类似于"B"和"Y".

Name | Title
-------------
A    |  X
A    |  NA
A    |  NA
B    |  NA
B    |  Y
B    |  Y
Run Code Online (Sandbox Code Playgroud)

每个"名称"应该只有一个"标题"值,尽管这一个值可能会出现多次.

我想有几个曲折的条件循环可以实现这一点,但我很好奇是否有更干净/更有效的方法来解决这个问题?

r

4
推荐指数
1
解决办法
127
查看次数

R Leaflet(CRAN) - 如何注册单击标记

在一个闪亮的应用程序中使用RStudio Leaflet包我已经能够实现我所寻找的所有功能,除非在点击后取消选择标记对象.

更具体地说,在单击任何标记之前,输入$ map_click_id值设置为NULL.单击标记后,将使用该标记的数据(ID,lat,lng,nonce)进行更新.我想设置地图,以便当用户点击地图中不是标记的任何区域时,输入$ map_click_id将重置为NULL,直到单击另一个标记.

我已经尝试了很多解决方案,例如比较标记点击和地图点击的点击次数,但标记点击变量,一旦设置为非NULL值,每次点击地图时都会更新,无论是什么它是否在标记上,所以这不起作用.

这里的任何帮助将不胜感激!下面是一个非常小的可重复示例.在这种情况下,我希望标记信息在单击时打印到控制台,并在单击任何非标记区域时将NULL返回到控制台.

library(leaflet)
library(shiny)

# set basic ui
ui <- fluidPage(
  leafletOutput("map")
)

server <- shinyServer(function(input, output) {

  # produce the basic leaflet map with single marker
  output$map <- renderLeaflet(
    leaflet() %>%
      addProviderTiles("CartoDB.Positron") %>%
      addCircleMarkers(lat = 54.406486, lng = -2.925284)

  )

  # observe the marker click info and print to console when it is changed.
  observeEvent(input$map_marker_click,
               print(input$map_marker_click)
               )

})


shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

这似乎与这里提出的问题相同,但由于没有答案,我想我会再试一次.

r rstudio leaflet shiny

4
推荐指数
1
解决办法
2767
查看次数

标签 统计

r ×2

leaflet ×1

rstudio ×1

shiny ×1