質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

2271閲覧

【修正しました】Rを用いて、住所から緯度経度を抽出する。

haruake

総合スコア4

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

1クリップ

投稿2021/05/15 11:03

編集2021/05/16 07:03

解決したいこと

Rを用いて、住所から緯度経度情報を取得することを行っています。住所と緯度経度データは国土交通省から提供されているデータ(大阪府)をcsv形式で保存しています。住所入力をすることで、緯度列、経度列のデータを抽出したいのですが、実際にコードを書いてみるとNA NA NAとなり、緯度経度が抽出できませんでした。
どのように改善すれば、適切にデータを抽出できるでしょうか。
→解決しました!

コードと結果

x<-read.csv("C://27_2019.csv")
head(x,3)

都道府県名 市区町村名 大字.丁目名 小字.通称名 街区符号.地番 座標系番号 X座標 Y座標 緯度 経度 住居表示フラグ 代表フラグ 更新前履歴フラグ
1 大阪府 大阪市都島区 毛馬町三丁目 8 6 -141814.1 -44144.5 34.72071 135.5180 1 1 0
2 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141711.3 -44137.4 34.72163 135.5181 1 1 0
3 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141756.2 -44139.3 34.72123 135.5181 1 0 0
更新後履歴フラグ
1 0
2 0
3 0

y<-apply(x,1,function(xx){paste(xx,collapse = "")})
head(y,3)

[1] "大阪府大阪市都島区毛馬町三丁目86-141814.1-44144.534.72071135.51801100" "大阪府大阪市都島区毛馬町三丁目76-141711.3-44137.434.72163135.51811100"
[3] "大阪府大阪市都島区毛馬町三丁目76-141756.2-44139.334.72123135.51811000"

target<-"大阪府大阪市都島区毛馬町三丁目8"
xnum<-pmatch(target,y)
target<-"大阪府大阪市都島区毛馬町三丁目8"
pmatch(target,y)

[1] 1

xnum<-pmatch(target,y)
z<-x[xnum,9:10]
z

緯度 経度

1 34.72071 135.518

以上です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2021/05/16 06:39 編集

> 大阪市津島区 大阪市に 津島区 は存在しないので、NA ということはないでしょうか? おそらく 毛馬町 なら 都島区 ですね。
haruake

2021/05/16 07:04

改めて修正して実行しなおしましたらうまくいきました。 ありがとうござました。
guest

回答1

0

ベストアンサー

おそらくyが期待したとおりの形になっていません。

多分こんな感じで。

y <- apply(x, 1, function(xx){paste(xx, collapse="")})

投稿2021/05/15 18:04

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

haruake

2021/05/16 01:19 編集

コメントありがとうございます。 yのコードを修正してみましたが、どうしてもNAで返ってきてしまいました。 x<-read.csv("C://27_2019.csv") y <- apply(x, 1, function(xx){paste(xx, collapse="")}) target<-"大阪府大阪市津島区毛馬町三丁目8" xnum<-pmatch(target,y) [1] NA となり、この時点でpmacth関数の使い方がおかしいのでしょうか。 他のgrep等の関数も使いましたがinteger(0)と返ってきました。 重ねての質問となり申し訳ございませんが、ご教授をお願いします。
KojiDoi

2021/05/16 04:28

xとyがどうなっているのか、みせてください。元データが示されていないので、こちらも想像でしか答えられません。
haruake

2021/05/16 05:28

大変失礼しました。 xは以下です。 > head(x,3) 都道府県名 市区町村名 大字.丁目名 小字.通称名 街区符号.地番 座標系番号 X座標 Y座標 緯度 経度 住居表示フラグ 代表フラグ 更新前履歴フラグ 1 大阪府 大阪市都島区 毛馬町三丁目 8 6 -141814.1 -44144.5 34.72071 135.5180 1 1 0 2 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141711.3 -44137.4 34.72163 135.5181 1 1 0 3 大阪府 大阪市都島区 毛馬町三丁目 7 6 -141756.2 -44139.3 34.72123 135.5181 1 0 0 更新後履歴フラグ 1 0 2 0 3 0 yは以下です。 > head(y,3) [1] "大阪府大阪市都島区毛馬町三丁目86-141814.1-44144.534.72071135.51801100" "大阪府大阪市都島区毛馬町三丁目76-141711.3-44137.434.72163135.51811100" [3] "大阪府大阪市都島区毛馬町三丁目76-141756.2-44139.334.72123135.51811000" このような示しかたでよろしいでしょうか。 お手数をおかけしますが、よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問