顧客から受領した企業リストに対して企業概要データを付与し、データの集計表や指標を算出して顧客へ渡します。
添えてある数字が各ステップに対応しています。
フォルダ | 中身 |
---|---|
. | ルートディレクトリ(data_engineering) |
code | 本資料で使用する.Rファイル |
input | 生データやマスタデータ |
output | 中間ファイルや研磨後データ |
-- Column specification --------------------------------------------------------
cols(
企業コード = col_character()
)
# A tibble: 500 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 490 more rows
df_2 <- read_csv(file = here("input/企業リスト2.csv"),
locale = locale(encoding = "shift-jis"),
col_types = "c")
# これでも可 col_types = cols(企業コード = col_character())
df_2
# A tibble: 500 x 1
企業コード
<chr>
1 J38109080
2 D42631600
3 H42150036
4 E32060947
5 B02122602
6 J34020161
7 J34747662
8 J34830369
9 E32572710
10 J34109464
# ... with 490 more rows
引数 | default | 意味 |
---|---|---|
file | 読み込むファイルのpathを指定 | |
col_names | TRUE | 1行目をカラム名として読み込む |
col_types | NULL | 読み込むカラム型を指定(指定方法は後述) |
locale | UTF-8, UTC | locale関数でencodingやタイムゾーン等を指定する |
skip | 0 | 先頭n行を飛ばして読み込む |
n_max | Inf | 読み込む最大行数 |
c2_201901 <- read_csv(
here("input/企業概要データ_2019年1月時点.csv"),
locale = locale(encoding = "shift-jis"))
-- Column specification --------------------------------------------------------
cols(
企業コード = col_character(),
本社所在地市区郡 = col_character(),
業種大分類 = col_character(),
`資本金(千円)` = col_double(),
従業員数 = col_double(),
最新期業績決算期年 = col_double(),
最新期業績決算期月 = col_double(),
`最新期業績売上高(百万円)` = col_double(),
`最新期業績税引後利益(千円)` = col_double(),
創業年 = col_double(),
設立年 = col_double()
)
# A tibble: 2,111 x 11
企業コード 本社所在地市区郡 業種大分類 `資本金(千円)` 従業員数
<chr> <chr> <chr> <dbl> <dbl>
1 G92155635 01103_北海道札幌市東区~ G:卸売・小売業,~ 862800 114
2 G92155065 13113_東京都渋谷区~ H:金融・保険業~ 3997800 2270
3 G92143569 01104_北海道札幌市白石区~ G:卸売・小売業,~ 830800 627
4 G92141220 01101_北海道札幌市中央区~ E:建設業 981800 194
5 G92190707 01109_北海道札幌市手稲区~ G:卸売・小売業,~ 419100 267
6 G92515950 01105_北海道札幌市豊平区~ F:製造業 399000 435
7 G92508571 27128_大阪府大阪市中央区~ F:製造業 53879600 745
8 G92559088 01101_北海道札幌市中央区~ K:電気・ガス・水~ 27874600 7207
9 G92552130 01104_北海道札幌市白石区~ E:建設業 3275400 1409
10 G92557890 01110_北海道札幌市清田区~ F:製造業 3815700 295
# ... with 2,101 more rows, and 6 more variables: 最新期業績決算期年 <dbl>,
# 最新期業績決算期月 <dbl>, `最新期業績売上高(百万円)` <dbl>,
# `最新期業績税引後利益(千円)` <dbl>, 創業年 <dbl>, 設立年 <dbl>
glimpse
Rows: 2,111
Columns: 11
$ 企業コード <chr> "G92155635", "G92155065", "G92143569", "G92...
$ 本社所在地市区郡 <chr> "01103_北海道札幌市東区", "13113_東京都渋谷区", "01104_北海道札幌...
$ 業種大分類 <chr> "G:卸売・小売業,飲食", "H:金融・保険業", "G:卸売・小売業,飲食", "...
$ `資本金(千円)` <dbl> 862800, 3997800, 830800, 981800, 419100, 39...
$ 従業員数 <dbl> 114, 2270, 627, 194, 267, 435, 745, 7207, ...
$ 最新期業績決算期年 <dbl> 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,...
$ 最新期業績決算期月 <dbl> 3, 3, 3, 3, 2, 3, 3, 3, 3, 12, 3, 3, 3, 12, 3, ...
$ `最新期業績売上高(百万円)` <dbl> 19509, 127123, 35949, 100, 42211, 18093, 82001, 1...
$ `最新期業績税引後利益(千円)` <dbl> 539348, 4389077, -18044, 631424, 252220, 88283, 15...
$ 創業年 <dbl> 1946, 0, 1932, 1917, 0, 1943, 0, 0, 0, 0,...
$ 設立年 <dbl> 1951, 1948, 1951, 1951, 1971, 1946, 1929,...
col_types = “ic”
# A tibble: 3 x 2
都道府県CODE 都道府県名
<int> <chr>
1 1 北海道
2 2 青森県
3 3 岩手県
col_types = “cc”
# A tibble: 3 x 2
都道府県CODE 都道府県名
<chr> <chr>
1 01 北海道
2 02 青森県
3 03 岩手県
read_lines(file = here("input/都道府県マスタ.csv"),
locale = locale(encoding = "shift-jis"),
n_max = 10) # 先頭から10行を読み込む
[1] "都道府県CODE,都道府県名" "01,北海道"
[3] "02,青森県" "03,岩手県"
[5] "04,宮城県" "05,秋田県"
[7] "06,山形県" "07,福島県"
[9] "08,茨城県" "09,栃木県"
c2_201901 <- read_csv(
here("input/企業概要データ_2019年1月時点.csv"),
locale = locale(encoding = "shift-jis"),
col_types = cols(
企業コード = col_character(),
本社所在地市区郡 = col_character(),
業種大分類 = col_character(),
`資本金(千円)` = col_double(),
従業員数 = col_double(),
最新期業績決算期年 = col_double(),
最新期業績決算期月 = col_double(),
`最新期業績売上高(百万円)` = col_double(),
`最新期業績税引後利益(千円)` = col_double(),
創業年 = col_double(),
設立年 = col_double()
)
)
read_csv(file = here("input/企業概要データ_2019年1月時点.csv"),
locale = locale(encoding = "shift-jis"),
n_max = 100) %>% spec()
cols(
企業コード = col_character(),
本社所在地市区郡 = col_character(),
業種大分類 = col_character(),
`資本金(千円)` = col_double(),
従業員数 = col_double(),
最新期業績決算期年 = col_double(),
最新期業績決算期月 = col_double(),
`最新期業績売上高(百万円)` = col_double(),
`最新期業績税引後利益(千円)` = col_double(),
創業年 = col_double(),
設立年 = col_double()
)
Rows: 2,111
Columns: 11
$ 企業コード <chr> "G92155635", "G92155065", "G92143569", "G92...
$ 本社所在地市区郡 <chr> "01103_北海道札幌市東区", "13113_東京都渋谷区", "01104_北海道札幌...
$ 業種大分類 <chr> "G:卸売・小売業,飲食", "H:金融・保険業", "G:卸売・小売業,飲食", "...
$ `資本金(千円)` <dbl> 862800, 3997800, 830800, 981800, 419100, 39...
$ 従業員数 <dbl> 114, 2270, 627, 194, 267, 435, 745, 7207, ...
$ 最新期業績決算期年 <dbl> 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,...
$ 最新期業績決算期月 <dbl> 3, 3, 3, 3, 2, 3, 3, 3, 3, 12, 3, 3, 3, 12, 3, ...
$ `最新期業績売上高(百万円)` <dbl> 19509, 127123, 35949, 100, 42211, 18093, 82001, 1...
$ `最新期業績税引後利益(千円)` <dbl> 539348, 4389077, -18044, 631424, 252220, 88283, 15...
$ 創業年 <dbl> 1946, 0, 1932, 1917, 0, 1943, 0, 0, 0, 0,...
$ 設立年 <dbl> 1951, 1948, 1951, 1951, 1971, 1946, 1929,...
df_1
# A tibble: 500 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 490 more rows
df_2
# A tibble: 500 x 1
企業コード
<chr>
1 J38109080
2 D42631600
3 H42150036
4 E32060947
5 B02122602
6 J34020161
7 J34747662
8 J34830369
9 E32572710
10 J34109464
# ... with 490 more rows
# A tibble: 1,000 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 990 more rows
# A tibble: 2,000 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 1,990 more rows
# A tibble: 500 x 2
企業コード...1 企業コード...2
<chr> <chr>
1 J31299770 J38109080
2 E32002046 D42631600
3 D42585413 H42150036
4 J39971897 E32060947
5 J93122775 B02122602
6 J34719839 J34020161
7 L12571447 J34747662
8 D42395106 J34830369
9 J34594067 E32572710
10 E32304350 J34109464
# ... with 490 more rows
Error: Can't recycle `..1` (size 500) to match `..2` (size 1000).
補足
縦結合したデータdf_3で重複している企業コード
# A tibble: 226 x 1
企業コード
<chr>
1 B02122602
2 B02122602
3 B42124422
4 B42124422
5 B42539783
6 B42539783
7 B42588245
8 B42588245
9 C62177407
10 C62177407
# ... with 216 more rows
重複レコード数の確認
[1] 113
[1] 887
カラムcol_2, col_3が消えてしまいました。
# A tibble: 4 x 3
col_1 col_2 col_3
<dbl> <chr> <chr>
1 1 a 東京
2 2 a 滋賀
3 2 b 大阪
4 2 a 滋賀
# A tibble: 2 x 3
col_1 col_2 col_3
<dbl> <chr> <chr>
1 1 a 東京
2 2 a 滋賀
# A tibble: 4 x 3
col_1 col_2 col_3
<dbl> <chr> <chr>
1 1 a 東京
2 2 a 滋賀
3 2 b 大阪
4 2 a 滋賀
# A tibble: 3 x 3
col_1 col_2 col_3
<dbl> <chr> <chr>
1 1 a 東京
2 2 a 滋賀
3 2 b 大阪
Rows: 2,111
Columns: 11
$ 企業コード <chr> "G92155635", "G92155065", "G92143569", "G92...
$ 本社所在地市区郡 <chr> "01103_北海道札幌市東区", "13113_東京都渋谷区", "01104_北海道札幌...
$ 業種大分類 <chr> "G:卸売・小売業,飲食", "H:金融・保険業", "G:卸売・小売業,飲食", "...
$ `資本金(千円)` <dbl> 862800, 3997800, 830800, 981800, 419100, 39...
$ 従業員数 <dbl> 114, 2270, 627, 194, 267, 435, 745, 7207, ...
$ 最新期業績決算期年 <dbl> 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,...
$ 最新期業績決算期月 <dbl> 3, 3, 3, 3, 2, 3, 3, 3, 3, 12, 3, 3, 3, 12, 3, ...
$ `最新期業績売上高(百万円)` <dbl> 19509, 127123, 35949, 100, 42211, 18093, 82001, 1...
$ `最新期業績税引後利益(千円)` <dbl> 539348, 4389077, -18044, 631424, 252220, 88283, 15...
$ 創業年 <dbl> 1946, 0, 1932, 1917, 0, 1943, 0, 0, 0, 0,...
$ 設立年 <dbl> 1951, 1948, 1951, 1951, 1971, 1946, 1929,...
[1] "企業コード" "本社所在地市区郡"
[3] "業種大分類" "資本金(千円)"
[5] "従業員数" "最新期業績決算期年"
[7] "最新期業績決算期月" "最新期業績売上高(百万円)"
[9] "最新期業績税引後利益(千円)" "創業年"
[11] "設立年"
c2_201901 %>%
select("企業コード", "本社所在地市区郡", "業種大分類",
"従業員数", `最新期業績売上高(百万円)`,
`最新期業績税引後利益(千円)`) %>%
glimpse()
Rows: 2,111
Columns: 6
$ 企業コード <chr> "G92155635", "G92155065", "G92143569", "G92...
$ 本社所在地市区郡 <chr> "01103_北海道札幌市東区", "13113_東京都渋谷区", "01104_北海道札幌...
$ 業種大分類 <chr> "G:卸売・小売業,飲食", "H:金融・保険業", "G:卸売・小売業,飲食", "...
$ 従業員数 <dbl> 114, 2270, 627, 194, 267, 435, 745, 7207, ...
$ `最新期業績売上高(百万円)` <dbl> 19509, 127123, 35949, 100, 42211, 18093, 82001, 1...
$ `最新期業績税引後利益(千円)` <dbl> 539348, 4389077, -18044, 631424, 252220, 88283, 15...
c2_201901_selected <- c2_201901 %>%
select("企業コード",
"本社所在地市区郡",
"業種大分類",
"従業員数",
`最新期業績売上高(百万円)`,
`最新期業績税引後利益(千円)`)
c2_201901_selected
# A tibble: 2,111 x 6
企業コード 本社所在地市区郡 業種大分類 従業員数 `最新期業績売上高(百万円)`~
<chr> <chr> <chr> <dbl> <dbl>
1 G92155635 01103_北海道札幌市東区~ G:卸売・小売業,~ 114 19509
2 G92155065 13113_東京都渋谷区~ H:金融・保険業~ 2270 127123
3 G92143569 01104_北海道札幌市白石区~ G:卸売・小売業,~ 627 35949
4 G92141220 01101_北海道札幌市中央区~ E:建設業 194 100
5 G92190707 01109_北海道札幌市手稲区~ G:卸売・小売業,~ 267 42211
6 G92515950 01105_北海道札幌市豊平区~ F:製造業 435 18093
7 G92508571 27128_大阪府大阪市中央区~ F:製造業 745 82001
8 G92559088 01101_北海道札幌市中央区~ K:電気・ガス・水~ 7207 100
9 G92552130 01104_北海道札幌市白石区~ E:建設業 1409 23288
10 G92557890 01110_北海道札幌市清田区~ F:製造業 295 61249
# ... with 2,101 more rows, and 1 more variable:
# `最新期業績税引後利益(千円)` <dbl>
# 不要なカラムはcol_skip()として読み込まないようにする
c2_201901_selected <- read_csv(
here("input/企業概要データ_2019年1月時点.csv"),
locale = locale(encoding = "shift-jis"),
col_types = cols(
企業コード = col_character(),
本社所在地市区郡 = col_character(),
業種大分類 = col_character(),
`資本金(千円)` = col_double(),
従業員数 = col_double(),
最新期業績決算期年 = col_skip(), # 不要
最新期業績決算期月 = col_skip(), # 不要
`最新期業績売上高(百万円)` = col_double(),
`最新期業績税引後利益(千円)` = col_double(),
創業年 = col_skip(), # 不要
設立年 = col_skip() # 不要
)
)
次頁で例を示します。
# A tibble: 2 x 2
企業コード 従業員数
<chr> <dbl>
1 G92155635 114
2 G92155065 2270
Error: Can't subset columns that don't exist.
x Column `企業規模` doesn't exist.
# A tibble: 3 x 3
企業コード 従業員数 `最新期業績売上高(百万円)`
<chr> <dbl> <dbl>
1 G92155635 114 19509
2 G92155065 2270 127123
3 G92143569 627 35949
# A tibble: 887 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 877 more rows
# A tibble: 2,111 x 7
企業コード 本社所在地市区郡 業種大分類 `資本金(千円)` 従業員数
<chr> <chr> <chr> <dbl> <dbl>
1 G92155635 01103_北海道札幌市東区~ G:卸売・小売業,~ 862800 114
2 G92155065 13113_東京都渋谷区~ H:金融・保険業~ 3997800 2270
3 G92143569 01104_北海道札幌市白石区~ G:卸売・小売業,~ 830800 627
4 G92141220 01101_北海道札幌市中央区~ E:建設業 981800 194
5 G92190707 01109_北海道札幌市手稲区~ G:卸売・小売業,~ 419100 267
6 G92515950 01105_北海道札幌市豊平区~ F:製造業 399000 435
7 G92508571 27128_大阪府大阪市中央区~ F:製造業 53879600 745
8 G92559088 01101_北海道札幌市中央区~ K:電気・ガス・水~ 27874600 7207
9 G92552130 01104_北海道札幌市白石区~ E:建設業 3275400 1409
10 G92557890 01110_北海道札幌市清田区~ F:製造業 3815700 295
# ... with 2,101 more rows, and 2 more variables:
# `最新期業績売上高(百万円)` <dbl>, `最新期業績税引後利益(千円)` <dbl>
left_join
left_join
right_join
full_join
inner_join
anti_join
色付きカラムが企業コードだと思ってください。
# A tibble: 887 x 1
企業コード
<chr>
1 J31299770
2 E32002046
3 D42585413
4 J39971897
5 J93122775
6 J34719839
7 L12571447
8 D42395106
9 J34594067
10 E32304350
# ... with 877 more rows
# A tibble: 2,111 x 7
企業コード 本社所在地市区郡 業種大分類 `資本金(千円)` 従業員数
<chr> <chr> <chr> <dbl> <dbl>
1 G92155635 01103_北海道札幌市東区~ G:卸売・小売業,~ 862800 114
2 G92155065 13113_東京都渋谷区~ H:金融・保険業~ 3997800 2270
3 G92143569 01104_北海道札幌市白石区~ G:卸売・小売業,~ 830800 627
4 G92141220 01101_北海道札幌市中央区~ E:建設業 981800 194
5 G92190707 01109_北海道札幌市手稲区~ G:卸売・小売業,~ 419100 267
6 G92515950 01105_北海道札幌市豊平区~ F:製造業 399000 435
7 G92508571 27128_大阪府大阪市中央区~ F:製造業 53879600 745
8 G92559088 01101_北海道札幌市中央区~ K:電気・ガス・水~ 27874600 7207
9 G92552130 01104_北海道札幌市白石区~ E:建設業 3275400 1409
10 G92557890 01110_北海道札幌市清田区~ F:製造業 3815700 295
# ... with 2,101 more rows, and 2 more variables:
# `最新期業績売上高(百万円)` <dbl>, `最新期業績税引後利益(千円)` <dbl>
Rows: 887
Columns: 7
$ 企業コード <chr> "J31299770", "E32002046", "D42585413", "J39...
$ 本社所在地市区郡 <chr> "13103_東京都港区", "27123_大阪府大阪市淀川区", "13103_東京都港区...
$ 業種大分類 <chr> "I:不動産業", "L:サービス業", "J:運輸・通信業", "L:サービス業",...
$ `資本金(千円)` <dbl> 931300, 1098300, 6120900, 15432800, 9904900...
$ 従業員数 <dbl> 64, 1120, 216, 31059, 314, 1167, 880, 1555...
$ `最新期業績売上高(百万円)` <dbl> 6555, 100, 31746, 334093, 69308, 54667, 107643, 6...
$ `最新期業績税引後利益(千円)` <dbl> 910536, 1775694, 408523, 2544502, 763986, 31954410...
Rows: 887
Columns: 7
$ 企業コード <chr> "G92155065", "G92515950", "G92543356", "G92...
$ 本社所在地市区郡 <chr> "13113_東京都渋谷区", "01105_北海道札幌市豊平区", "01101_北海道札...
$ 業種大分類 <chr> "H:金融・保険業", "F:製造業", "E:建設業", "F:製造業", "G:卸...
$ `資本金(千円)` <dbl> 3997800, 399000, 252800, 16500900, 9316300,...
$ 従業員数 <dbl> 2270, 435, 903, 1278, 455, 2547, 606, 807,...
$ `最新期業績売上高(百万円)` <dbl> 127123, 18093, 16223, 112638, 361158, 116457, 127...
$ `最新期業績税引後利益(千円)` <dbl> 4389077, 88283, 515387, 442755, 12313348, 5378462,...
# A tibble: 3 x 7
企業コード 本社所在地市区郡 業種大分類 `資本金(千円)` 従業員数
<chr> <chr> <chr> <dbl> <dbl>
1 J31299770 13103_東京都港区 I:不動産業 931300 64
2 E32002046 27123_大阪府大阪市淀川区~ L:サービス業~ 1098300 1120
3 D42585413 13103_東京都港区 J:運輸・通信業~ 6120900 216
# ... with 2 more variables: `最新期業績売上高(百万円)` <dbl>,
# `最新期業績税引後利益(千円)` <dbl>
# A tibble: 3 x 7
従業員数 企業コード 本社所在地市区郡 業種大分類 `資本金(千円)`
<dbl> <chr> <chr> <chr> <dbl>
1 64 J31299770 13103_東京都港区 I:不動産業 931300
2 1120 E32002046 27123_大阪府大阪市淀川区~ L:サービス業~ 1098300
3 216 D42585413 13103_東京都港区 J:運輸・通信業~ 6120900
# ... with 2 more variables: `最新期業績売上高(百万円)` <dbl>,
# `最新期業績税引後利益(千円)` <dbl>