teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

8番地の8まで入れると解決しました

2021/05/16 07:03

投稿

haruake
haruake

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  ### 解決したいこと
2
2
  Rを用いて、住所から緯度経度情報を取得することを行っています。住所と緯度経度データは国土交通省から提供されているデータ(大阪府)をcsv形式で保存しています。住所入力をすることで、緯度列、経度列のデータを抽出したいのですが、実際にコードを書いてみるとNA NA NAとなり、緯度経度が抽出できませんでした。
3
3
  どのように改善すれば、適切にデータを抽出できるでしょうか。
4
+ →解決しました!
4
5
 
5
6
  ### コードと結果
6
7
  > x<-read.csv("C://27_2019.csv")
@@ -19,12 +20,15 @@
19
20
  [1] "大阪府大阪市都島区毛馬町三丁目86-141814.1-44144.534.72071135.51801100" "大阪府大阪市都島区毛馬町三丁目76-141711.3-44137.434.72163135.51811100"
20
21
  [3] "大阪府大阪市都島区毛馬町三丁目76-141756.2-44139.334.72123135.51811000"
21
22
 
22
- > target<-"大阪府大阪市都島区毛馬町三丁目"
23
+ > target<-"大阪府大阪市都島区毛馬町三丁目8"
23
24
  > xnum<-pmatch(target,y)
25
+ > target<-"大阪府大阪市都島区毛馬町三丁目8"
26
+ > pmatch(target,y)
24
- [1] NA
27
+ [1] 1
28
+ > xnum<-pmatch(target,y)
25
29
  > z<-x[xnum,9:10]
26
30
  > z
27
- 緯度 経度
31
+ 緯度 経度
28
- NA NA NA
32
+ 1 34.72071 135.518
29
33
 
30
34
  以上です。

1

target変数の入力文字を修正し、x,yの頭から3行目を追記しました。

2021/05/16 07:03

投稿

haruake
haruake

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- Rを用いて、住所から緯度経度を抽出する。
1
+ 【修正しました】Rを用いて、住所から緯度経度を抽出する。
body CHANGED
@@ -4,10 +4,27 @@
4
4
 
5
5
  ### コードと結果
6
6
  > x<-read.csv("C://27_2019.csv")
7
+ > head(x,3)
8
+ 都道府県名 市区町村名 大字.丁目名 小字.通称名 街区符号.地番 座標系番号 X座標 Y座標 緯度 経度 住居表示フラグ 代表フラグ 更新前履歴フラグ
9
+ 1 大阪府 大阪市都島区 毛馬町三丁目 8 6 -141814.1 -44144.5 34.72071 135.5180 1 1 0
10
+ 2 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141711.3 -44137.4 34.72163 135.5181 1 1 0
11
+ 3 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141756.2 -44139.3 34.72123 135.5181 1 0 0
12
+ 更新後履歴フラグ
13
+ 1 0
14
+ 2 0
15
+ 3 0
16
+
7
- > y<-paste(x$都道府県名,x$市区町村名,x$大字.丁目名,x$街区符号.地番,seq="")
17
+ > y<-apply(x,1,function(xx){paste(xx,collapse = "")})
18
+ > head(y,3)
19
+ [1] "大阪府大阪市都島区毛馬町三丁目86-141814.1-44144.534.72071135.51801100" "大阪府大阪市都島区毛馬町三丁目76-141711.3-44137.434.72163135.51811100"
20
+ [3] "大阪府大阪市都島区毛馬町三丁目76-141756.2-44139.334.72123135.51811000"
21
+
8
- > target<-"大阪府大阪市島区毛馬町三丁目8"
22
+ > target<-"大阪府大阪市島区毛馬町三丁目"
9
23
  > xnum<-pmatch(target,y)
24
+ [1] NA
10
25
  > z<-x[xnum,9:10]
11
- > print(z)
26
+ > z
12
27
  緯度 経度
13
- NA NA NA
28
+ NA NA NA
29
+
30
+ 以上です。