https://washdata.org/data/downloads#WLD
WHOとUNICEFのジョイントプログラムのウェブサイトに世界各国の水利用関連のデータファイルがあります。
今回はこのファイルをR言語に読み込んでみようと思います。
こういうExcelファイルです。
このファイルを読み込んでみます。
データはたくさんあるので、今回はWaterのNationalのデータだけにします。
こういうCSVファイルにしました。
country: 国または地域の名前
ISO: 国または地域のコード
tear: データの西暦
population: 人口(千人)
urban_rate: 都市に住む人口比率
basic: 水利用がbasicレベル以上の人口比率。basicは"Drinking water from an improved source, provided collection time is not more than 30 minutes for a round trip, including queuing" 30分以内で飲み水が手に入る、ということです。日本に住む我々から見ると想像するのは難しいですが、世界には飲み水を組みに行くのに往復で30分以上の時間がかかる国、地域がいっぱいあります。
limited: 水利用がlimitedレベルの人口比率。"Drinking water from an improved source for which collection time exceeds 30 minutes for a round trip, including queuing"
unimproved: 水利用がunimprovedレベルの人口比率。"Drinking water from an unprotected dug well or unprotected spring" です。dug well は堀り井戸です。unprotectedとあるので、管理されていない、堀り井戸や泉ということでしょうかね。
surface: は水利用がsurface waterレベルの人口比率です。"Drinking water directly from a river, dam, lake, pond, stream, canal or irrigation canal" 自然の川や湖から汲んでいるということですね。
change: basicの年間変化率です。
これらの水利用のレベルは、
https://washdata.org/monitoring/drinking-water
に載っています。
それでは、このCSVファイルをR言語のread.csv関数で読み込みます。
read.csv関数でファイルを読み込み、str関数でデータの構造を確認しました。basic以下の数値データが文字型として読み込まれています。
as.numeric関数で数値型に変換しましょう。
あ、その前にtidyverseパッケージを読み込んでおきましょう。
それではbasic以下の変数を文字列型から数値型に変換します。
mutate関数を使い、その中でas.numeric関数を使いました。数値として認識できない文字列はNAに強制変換されます。
str関数で数値型になったか確認してみます。
狙いどおり、数値型に変換されています。
sapply関数とfunction関数とis.na関数とsum関数を使って各変数にNAが何個あるか確認しておきます。
結構な数がNAですね。sum関数のかわりにmean関数を使うとNAの割合になります。
surfaceやchangeは61%がNAですね。
今回は以上です。