Rでリーフレットとシャイニーを使用してマップをフィルタリングする-複数の値の属性

ChMoe

属性に基づいてマップ上のポイントをフィルタリングしようとしています。1つの属性に1つの値しか含まれていない限り、正常に機能します。1つの属性に複数の値がある場合(つまり、「water; sand」)、フィルターに基づいてこのポイントをマップすることはできません。

これが私の最小の例です:

library(data.table)
mydat <- data.table( londd=c(20, 38, 96, 32),
                     latdd=c(60, 56, 30, 31),
                     art=c("mountain", "water,sand", "sand", "forest"),
                     anwendung=c("a","b","c","d"))

#Set up ui
ui <- shinyUI(fluidPage(
sidebarPanel(h5("", width=2),
     checkboxGroupInput(inputId="ArtFlag", label=h4("Art des Bodens"), 
        choices=setNames(object=c("mountain", "water", "sand", "forest"),
                           nm=c("mountain", "water", "sand", "forest"))),
     checkboxGroupInput(inputId="AnwendungFlag", label=h4("Anwendung"), 
        choices=setNames(object=c("a","b","c","d"),
                           nm=c("a","b","c","d"))),
position="left"),
#App mainPanel content and styles
mainPanel(fluidRow(leafletOutput(outputId="lmap")))
              )
            )
          )

#Set up server
server <- function(input, output){
#Build leaflet map
lmap <- leaflet(data=mydat)%>%
addProviderTiles("Stamen.TonerLite", options = providerTileOptions(noWrap = TRUE)) %>%
fitBounds(~min(londd), ~min(latdd), ~max(londd), ~max(latdd))

#Filter data
datFilt <- reactive(mydat[art%in%input$ArtFlag & anwendung%in%input$AnwendungFlag])

#Add markers based on selected flags
observe({
  if(nrow(datFilt())==0) {print("Nothing selected");leafletProxy("lmap") %>% clearShapes()}
    else{ #print(paste0("Selected: ", unique(input$InFlags & input$InFlags2)))
  
    leafletProxy("lmap", data=datFilt())%>%clearShapes()%>%
    addCircleMarkers(lng=~londd, lat=~latdd,
                     clusterOptions=markerClusterOptions(), weight=3,
                     color="#33CC33", opacity=1, fillColor="#FF9900", 
                     fillOpacity=0.8)%>% clearShapes()
        }
     })

   output$lmap <- renderLeaflet(lmap)
}

#Run app
shinyApp(ui = ui, server = server)

コーディングが適切にフォーマットされていない場合は申し訳ありません。私はまだ初心者です。

どうもありがとう、

クリスティーナ

サム

まあ、これがあなたが探しているものを解決するかどうかは100%確信が持てないので、そうでない場合はコメントを残してください。問題はreactiveステートメントにあります。「water、sand」のチェックボックスがないため、チェックボックスBに一致するものはありません。水または砂が選択されているかどうかに関係なく、チェックボックスBに一致するものを取得するには、grepl完全一致ではなく、パターン一致を取得するために使用して、これを試しましたdatFiltこれにあなたの呼び出しを変更してみてください

  #Filter data
  datFilt <- reactive({

    filterName <- ifelse(length(input$ArtFlag) == 0, 'none', input$ArtFlag)

    mydat[grepl(filterName, art) & anwendung%in%input$AnwendungFlag]
    })

(これはおそらくこれを行うための最も効率的なコードではありませんが、うまくいくか、探しているものに近づくことができれば幸いです。完璧な世界では、データの構造があれば、これをコーディングする方が簡単かもしれません。違いましたが、それがあなたの選択肢かどうかはわかりません)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rリーフレットとシャイニーを使用してマップ上のデータポイントをフィルタリングする(複数の基準)

分類Dev

Rシャイニー内のリーフレットマップからの入力に基づいてデータテーブルをフィルタリングするにはどうすればよいですか?

分類Dev

Rシャイニーのリーフレットマップセンターを動的に変更する

分類Dev

gcIntermediateを使用して、Rリーフレット/シャイニーの日付変更線を横切る最短飛行経路をマッピングする

分類Dev

マルチレベルインデックスを使用してPandasデータフレームでグループ化とローリングウィンドウを実行すると、インデックスエントリが重複します

分類Dev

R:複数のフィルターを使用して折れ線グラフをプロットする方法。(R-シャイニー/フレックスダッシュボード)

分類Dev

複数のオプションを使用してクエリセットをフィールドでフィルタリングする

分類Dev

Rの値と等しくないサブセットをフィルタリングして、複数のデータフレームを作成します

分類Dev

マップの値を使用してpojoのストリームをフィルタリングする

分類Dev

シャイニーアプリのリーフレットマップでズームコントロールのデフォルト位置を変更する

分類Dev

シャイニーを使用してリーフレットマップに値の範囲をマップする方法は?

分類Dev

Googleスプレッドシートを使用して2つの列をフィルタリングする

分類Dev

いくつかの列の値によって、Rシャイニーでデータフレームを効率的にフィルタリングします

分類Dev

いくつかのグラフィカルソフトウェアマネージャーを使用して、すべてのグラフィカルアプリケーションをフィルタリングしてインストールまたは削除することは可能ですか?

分類Dev

リーフレットでグーグルマップの静的タイルを正しく使用する方法

分類Dev

jqueryを使用してドロップダウンで複数の値をフィルタリングする

分類Dev

FO-DICOM:C#Windowsフォームアプリケーションでレンダリングされたビットマップを使用してウィンドウのサイズを変更すると、クラッシュします

分類Dev

Rシャイニー、リーフレットの問題-> SelectInputを使用して、ドロップダウンメニューの選択を変更します

分類Dev

Rシャイニー、リーフレットの問題-> SelectInputを使用して、ドロップダウンメニューの選択を変更します

分類Dev

チェックボックスグループを使用して、値で複数の列をフィルタリングする

分類Dev

Rシャイニーで複数のプロットをzipファイルとしてダウンロードする方法は?

分類Dev

このタイプの複数属性フィルタリングは何と呼ばれますか?(スクリーンショットを参照)

分類Dev

Googleスプレッドシート:1つのセルで複数の値をフィルタリングする

分類Dev

Clojure で複数のキーでマップのベクトルをフィルタリングする方法

分類Dev

Rリーフレット:複数のグループをレイヤーに割り当てて、データをフィルタリングし、表示される列を変更します

分類Dev

変換フィードバックを使用したiOSでのリアルタイムOpenGLESレイトレーシング\レイキャスティング?

分類Dev

リアクティブを使用してプロットするときのRシャイニーエラー

分類Dev

別のデータを使用して、1つのExcelスプレッドシートでフィルタリングする

分類Dev

リアクティブスプリングリポジトリで保存する前に、オブジェクトの複雑なフィールドをテキストフィールド(JSONとしてシリアル化)にマッピングする

Related 関連記事

  1. 1

    Rリーフレットとシャイニーを使用してマップ上のデータポイントをフィルタリングする(複数の基準)

  2. 2

    Rシャイニー内のリーフレットマップからの入力に基づいてデータテーブルをフィルタリングするにはどうすればよいですか?

  3. 3

    Rシャイニーのリーフレットマップセンターを動的に変更する

  4. 4

    gcIntermediateを使用して、Rリーフレット/シャイニーの日付変更線を横切る最短飛行経路をマッピングする

  5. 5

    マルチレベルインデックスを使用してPandasデータフレームでグループ化とローリングウィンドウを実行すると、インデックスエントリが重複します

  6. 6

    R:複数のフィルターを使用して折れ線グラフをプロットする方法。(R-シャイニー/フレックスダッシュボード)

  7. 7

    複数のオプションを使用してクエリセットをフィールドでフィルタリングする

  8. 8

    Rの値と等しくないサブセットをフィルタリングして、複数のデータフレームを作成します

  9. 9

    マップの値を使用してpojoのストリームをフィルタリングする

  10. 10

    シャイニーアプリのリーフレットマップでズームコントロールのデフォルト位置を変更する

  11. 11

    シャイニーを使用してリーフレットマップに値の範囲をマップする方法は?

  12. 12

    Googleスプレッドシートを使用して2つの列をフィルタリングする

  13. 13

    いくつかの列の値によって、Rシャイニーでデータフレームを効率的にフィルタリングします

  14. 14

    いくつかのグラフィカルソフトウェアマネージャーを使用して、すべてのグラフィカルアプリケーションをフィルタリングしてインストールまたは削除することは可能ですか?

  15. 15

    リーフレットでグーグルマップの静的タイルを正しく使用する方法

  16. 16

    jqueryを使用してドロップダウンで複数の値をフィルタリングする

  17. 17

    FO-DICOM:C#Windowsフォームアプリケーションでレンダリングされたビットマップを使用してウィンドウのサイズを変更すると、クラッシュします

  18. 18

    Rシャイニー、リーフレットの問題-> SelectInputを使用して、ドロップダウンメニューの選択を変更します

  19. 19

    Rシャイニー、リーフレットの問題-> SelectInputを使用して、ドロップダウンメニューの選択を変更します

  20. 20

    チェックボックスグループを使用して、値で複数の列をフィルタリングする

  21. 21

    Rシャイニーで複数のプロットをzipファイルとしてダウンロードする方法は?

  22. 22

    このタイプの複数属性フィルタリングは何と呼ばれますか?(スクリーンショットを参照)

  23. 23

    Googleスプレッドシート:1つのセルで複数の値をフィルタリングする

  24. 24

    Clojure で複数のキーでマップのベクトルをフィルタリングする方法

  25. 25

    Rリーフレット:複数のグループをレイヤーに割り当てて、データをフィルタリングし、表示される列を変更します

  26. 26

    変換フィードバックを使用したiOSでのリアルタイムOpenGLESレイトレーシング\レイキャスティング?

  27. 27

    リアクティブを使用してプロットするときのRシャイニーエラー

  28. 28

    別のデータを使用して、1つのExcelスプレッドシートでフィルタリングする

  29. 29

    リアクティブスプリングリポジトリで保存する前に、オブジェクトの複雑なフィールドをテキストフィールド(JSONとしてシリアル化)にマッピングする

ホットタグ

アーカイブ