Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

都道府県の表記を統一 #67

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

uribo
Copy link
Collaborator

@uribo uribo commented Apr 10, 2020

Summary

#59 で挙げられていた課題を解決します。

都道府県名の末尾につく「県」や「府」などを修正する関数といくつかの補助関数を追加しました。
文字列の類似性をもとに判定します。

次のように動作します。都道府県名を含まない文字列には影響しません。

prefs <- c("北海道", "東京", "京都", "大阪", "茨城", "クルーズ船")
is_prefecture()
##> [1] TRUE TRUE TRUE TRUE TRUE FALSE
fix_prefecture_str(prefs)
##> [1] "北海道" "東京都" "京都府" "大阪府" "茨城県" "クルーズ船"

これらの関数をShinyアプリケーションでの必要な箇所で関数を適用するようにしました。
( 適当な場所がわからなかったので R/ フォルダにファイルを関数定義ファイルを保存しました。変更があれば移動します)

Preview

image

uribo added 3 commits April 10, 2020 17:20
1. is_prefecture()で都道府県名が含まれるかを判定
2. 修正が必要な場合はfix_prefecture_str()で直す
3. データフレームの列名に適用
@swsoyee
Copy link
Owner

swsoyee commented Apr 10, 2020

@uribo ありがどうございます!せっかく書いていただきましたが、もしよかったらこちらの部分をShiny内部に実行するより、ローカルでスクリプトを走って必要なデーブルを作成して、Shiny内部ではあまり変換しなくそのまま表示したいです。

開発前期では効率があまり考えてなく、アプリ内で色々なデータ変換をしていますが、今はアクセス数が増えて、変換が多いほとサイトが重くになりました。実際今自分もリファクタリングの最中です。

例えば、ホームページのあのテーブルには
https://github.com/swsoyee/2019-ncov-japan/blob/master/System/CreateTable.R#L72-L217
ここで作成しています。元々はアプリ内で変換がしていましたが、重くてほとんど見れないです。

@uribo さんはRのプロですので、もしよかったら、今のソースコードのどこに重い処理が書いている場所を少しリファクタリングしてもよろしいでしょうか。自分Rパッケージが書いたこともないので、フォルダーの構造も適宜修正お願いできれば嬉しいと思います。

#68 みたいな感じで徐々にコードを綺麗にしたい。コードにはほとんどコメントが書かれていないがコメントも適宜追加したい🙇🏻‍♂️

@uribo
Copy link
Collaborator Author

uribo commented Apr 10, 2020

コメントありがとうございます。
なるほど、確かにShinyでデータの加工を行うよりデータファイルを用意しておいてそれを読ませるだけの方が楽ですね。

データの追加取得とメンテナンスを両立するのは大変だと思うので
分担して負担を減らせたら良いと思います。

アプリ側での処理を減らせられないか、検討してみます!

@swsoyee
Copy link
Owner

swsoyee commented Apr 10, 2020

@uribo ありがどうございます!お願いします!

@swsoyee
Copy link
Owner

swsoyee commented Apr 10, 2020

@uribo もしよかったらこの部分をヘルプいただけますか 67eb074

二つTODOが残されていて、修正するにもある程度が時間が必要そうと思います。

# TODO ローカル作成
positiveDetail[年齢 == '10歳未満', 年齢 := '00代']
positiveDetail[grepl('', 性別), 性別 := '男性']
positiveDetail[grepl('', 性別), 性別 := '女性']
# TODO とりあえず100代を非表示(ラベルの順番が修正する必要があるため)

できれば10年未満非公表100代もそのままグラフに表示させたい。

@uribo
Copy link
Collaborator Author

uribo commented Apr 10, 2020

@swsoyee OKです。そこから着手します 🚀

このPRは一旦保留にしておきますね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants