在反应数据框中将数字更改为 NA

Change a number to NA in reactive dataframe

我需要将此反应性数据框中的某些数字更改为 NA,例如将所有 -1 更改为 NA 或所有负数,以便它们不会在 historgam 中绘制

pointsInBounds <- reactive({
  if (is.null(input$map_bounds))
    return(Data[TRUE,])

  bounds <- input$map_bounds
  latRng <- range(bounds$north, bounds$south)
  lngRng <- range(bounds$east, bounds$west)

  subset(Organisms(),
         lat >= latRng[1] & lat <= latRng[2] &
           lon >= lngRng[1] & lon <= lngRng[2])
})
     ##histogram
output$hist <- renderPlot({plot1<-
  # If no organisms are in view, don't plot
  if (nrow(pointsInBounds()) == 0)
    return()


hist(...)

您是否希望将此转换应用于数据框或特定列中的任何负数?

无论哪种方式,执行此操作的方法可能与您在反应式上下文之外执行的方法大致相同。例如,使用 dplyr 更改 Organisms 反应对象的 lat 列中的所有负数:

Organisms() %>%
  mutate(lat = ifelse(lat < 0, NA, lat))

ifelse(lat == -1, NA, lat))

当然,如果你想避免 dplyr 或更改所有列中的负数,我的具体解决方案没有任何意义,但无论具体更改是什么,你都可以将它应用于 Organisms将是一个非反应性数据框,只需添加括号即可。

我通过添加

来修复它
 `pointsInBounds<-reactive({ 
  DataP<-data.frame(pointsInBounds2())
  colnames(DataP)<-c(colnames(Data))
  DataP[DataP==-1]<-NA
  return(DataP)
  })`

在第一个反应性数据帧之后