2017-08-14 23 views
2

我需要改變某些號碼NA在此反應數據框更改號碼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(...) 
+0

您應該能夠使用相同的步驟,修復它通常那樣在R:'DF [DF <0] < - 0' – roarkz

+0

當使用'比較(3)僅可能用於原子和列表類型時,我收到此錯誤代碼' –

+0

[格式化反應性數據幀在閃亮](https://stackoverflow.com/questions/20201070/formatting-reactive-data-frames-in-shiny) –

回答

0

我通過添加

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

第一反應數據幀之後

0

您是否希望將此轉換應用於數據框或特定列中的任何負數?

無論採用哪種方式,執行此操作的方法都可能與您在響應環境之外執行的操作大致相同。例如,使用dplyr改變你的Organisms反應物的lat列的所有負數:

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

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

當然,如果您想要避免dplyr或在所有列中更改負數,我的具體解決方案是沒有意義的,但無論具體更改是什麼,您都可以將它應用於Organisms,就像您不反應數據框,只需在括號中添加即可。

+0

這不是'lat'和'lng'我想改變'df'中的所有其他列。 –

+0

啊,好的。所以可能是這樣的:'mutate_at(var(var1:var2,var3),〜ifelse(。<0,。,NA))'?替換你想要的df中的任何列 –