更新日:2025年11月7日
ここから本文です。
|
このページでは、実際に統計データを使って分析する手法を紹介しています。 |
![]() |
|
|
データ分析で利用されているプログラミング言語「R言語(以下、「R」と言います。)」を用いて分析をしてみます。
Rなどのプログラミング言語で分析を行う利点のひとつに、どういうステップでデータ解析を行ったのかをスクリプトに記録することで、他の機会への再現性を保てることがあります。ここでは、「R」とあわせて「RStudio」を利用しています。
なお、Rのコードは滋賀大学データサイエンス学部の佐藤健一先生にご協力いただいています。
まずは必要なデータを準備します。
ここでは、以下の2つのデータをダウンロードしました。
| 統計名/データ名 | ファイル名 | 出典 | 基準年 | 地域 |
|---|---|---|---|---|
| 国土数値情報-地価公示データ | L01-25_26_GML.zip | 国土交通省 国土数値情報ダウンロードサイト(外部リンク) |
2025年 | 京都府 |
| 住民基本台帳に基づく人口、人口動態及び世帯数調査 【総計】市区町村別年齢階級別人口 |
2504ssnen.xlsx | 2025年 | - |
#以下はコメント(注釈)として補足を記載しています(#以下は入力しても影響がありませんので、入力不要です)。
# データの読み込み
library(sf)
d <- read_sf("L01-25_26_GML")
dim(d)
# データの整理
d1 <-st_drop_geometry(d)
dim(d1)
df <- as.data.frame(d1)
df_house <- subset(df, grepl("住宅" , L01_028))
# 箱ひげ図の作成
png("地価公示価格(住宅)_箱ひげ図.png",width=1000,height=1000,pointsize=24)
boxplot(df_house$L01_008,log="y",ylab="地価公示価格[円/㎡]", ylim = c(10^3, 10^7),axes=F)
axis(side=2,at=10^(3:7),labels=c("千","万","十万","百万","千万"))
dev.off()
箱ひげ図が作成されました。
地価公示価格は数千円台から数十万円台に分布し、四分位範囲は数万円から数十万円であることが分かります。
また外れ値が多くあり、平米単価が数百万円台となっている地点が数か所あることがうかがえます。
|
箱ひげ図:データの分布をおおまかに把握できるグラフ。 今回作成した箱ひげ図からはデータのばらつきが大きいこと、外れ値があることが分かります。 |
![]() |
# 行政区域ごとに地価公示価格の代表値(中央値)を設定
d2 <- aggregate(L01_008~L01_001,data=df_house,FUN=median)
dim(d2)
write.csv(d2,"行政区域コード別集計(住宅).csv",row.names=F)
#行政区域ごとに代表地点(座標)を設定
d3 <- aggregate(cbind(X,Y)~L01_001, data=cbind(d1,st_coordinates(d)),FUN=mean)
head(d3)
# 地価公示価格の代表値と代表地点を合わせたデータに整理する
d23 <- merge(x=d2,y=d3,by="L01_001")
dim(d23)
write.csv(d23,"座標付公示価格(住宅).csv",row.names=F)
行政区域ごとの地価公示価格の代表値と代表地点をまとめたCSVファイルが作成されました。
ファイルを確認すると、行政区域ごとにデータが確認できます。
# データの読み込み
library(maps)
library(mapdata)
png("地価公示価格分布(住宅).png",width=1000,height=1000,pointsize=24)
map("japan","kyoto")
# 価格帯に合わせて色ラベルを設定し軸や凡例を設定
k <- cut(d23$L01_008,breaks = c(0, 100000, 300000, 500000, 700000), labels = FALSE)
palette(c("blue", "green", "gold", "tomato"))
points(d23$X, d23$Y, pch=19, col=k)
legend("bottomleft", legend = c("〜10万円", "10万〜30万円", "30万〜50万円", "50万~70万円"), fill = c(1, 2, 3, 4))
dev.off()
地図グラフが作成されました。
図2:京都府の行政区域ごとの地価公示価格の中央値分布図

地図データはRのmapsおよびmapdataパッケージに基づいて作成(原典:U.S. CIA World DataBank II)したものです。
地図グラフにしてみると、位置関係と価格帯が一目で分かり、全体の傾向が見やすくなります。
地価公示価格の中央値は、京都市とその周辺地域で10万円を超え、それ以外の地域では10万円未満であることが分かります。
# 人口データの読み込み
d4 <- read.csv("2504ssnen.csv")
# 人口データと合わせる
d234 <- merge(x=d23,y=d4,by.x="L01_001",by.y="団体コード")
dim(d234)
# 地価公示価格と年齢階級別割合との相関係数
prop <- d234[,9:29]/d234[,8]
png("地価公示価格_相関係数(住宅).png",width=1000,height=1000,pointsize=24)
par(mar=c(10,4,4,2))
barplot(cor(d234[,"L01_008"],prop),las=3,ylab="相関係数")
dev.off()
相関係数の棒グラフが作成されました。
図3:京都府の市区町の地価公示価格(中央値)と年齢階級別人口割合の相関係数

|
棒グラフのラベルの頭文字に”X”がありますが、これはR言語の仕様で、データの列名が数字から始まるときは頭文字に”X”がをつきます。 |
![]() |
20~24歳から30~34歳までの年齢階級では相関係数が約0.7と強い正の相関がみられ、反対に70~74歳の年齢階級では相関係数が約-0.7と強い負の相関がみられます。
このことは、地価公示価格(中央値)が高い地域では20~24歳から30~34歳の年齢階級の割合が高く、反対に地価公示価格(中央値)が低い地域では70~74歳の年齢階級割合が高い傾向があることを示しています。
是非、色んなデータで実践して、解釈をしてみてください。
お問い合わせ
トップページ > 府政情報 > 広報・情報公開等 > 京都府の統計情報 > 統計で見る京都府のすがた > 統計を使って分析してみよう > 統計を使って分析してみよう(応用編)