Rでパスワードを入力するときには.rs.askForPassword()
が便利ですが、たしかこの関数は↓のIssueで見つけました。
で、そういえばHadleyが別解としてShinyがどうとか言ってたなあ、と思い出してちょっと使ってみました。
どこでつかったのかというと、つくった本人も忘れるくらい放置されている(笑)このkokudosuuchiパッケージです。最新バージョンのpurrrだと動かなくなっていたので直すついでに色々触ってみていました。
Rから国土数値情報ダウンロードサービス Web APIを使うパッケージをつくりました - Technically, technophobic. https://t.co/V4EScaJ3R3 こんなパッケージ俺つくったっけ...(記憶にない)
— Hiroaki Yutani (@yutannihilation) 2016年4月18日
prefCode
というパラメータがあるんですが、これは、47都道府県それぞれにコードが割り当てられていてこのページとにらめっこして探してくるんですけど、
さすがにそれは大変すぎる!ということで、チェックボックスをポチポチとクリックしたらコードを返してくれるShnyアプリ?をつくりました。
library(kokudosuuchi) #> このサービスは、「国土交通省 国土数値情報(カテゴリ名)」をもとに加工者が作成 #> 以下の国土数値情報ダウンロードサービスの利用約款をご確認の上ご利用ください: #> #> http://nlftp.mlit.go.jp/ksj/other/yakkan.html choose_prefecture_code() #> #> Listening on http://127.0.0.1:5621
とやると、ウィンドウが現れます。(レイアウトは適当です。すみません…)
これをポチポチして「Done」を押すと…
#> [1] "2" "24"
という感じで都道府県コードがわかります。
Shinyは、こういうインタラクティブな感じでやるちょっとした作業にも便利ですね。使い方覚えていきたいです。
今回使ったやつのソースはこういう感じ:
data("KSJprefCodes", package = "kokudosuuchi") choose_prefecture_code <- function() { shiny::runApp( shiny::shinyApp( shiny::fluidPage( "Pref Code Chooser", shiny::checkboxGroupInput( inputId = "prefecture", label = "Check prefectures", choices = purrr::set_names(KSJprefCodes$prefCode, KSJprefCodes$prefName), inline = TRUE, width = '400px' ), shiny::actionButton("done", "Done") ), function(input, output) { shiny::observe({ input$done if (input$done > 0) shiny::stopApp(shiny::isolate(input$prefecture)) }) } )) }