๋ฐ์ดํฐ ์ฌ์ด์ธ์ค 100๋ฒ์ ๋ ธํฌ(๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ฒ๋ฆฌํธ) โ R Part 1 (Q1 to Q20)์ ํด์ค์ ๋๋ค.
ย
์ฐธ๊ณ (Reference) : ใ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ ํํ ์คํฌ ์ ์ ์์ใ์ ใ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค 100๋ฒ์ ๋ ธํฌ(๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ฒ๋ฆฌํธ)ใ์ ๋๋ค.
์ฒ์์
- ๋จผ์ ๋ค์ ์ ์ ์คํํฉ๋๋ค.
- ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค(PostgreSQL).
- ์ฌ์ฉํ ๊ฒ์ผ๋ก ์์๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ ์ ์์ ๊ฐ์ ธ์ต๋๋ค.
- ์ฌ์ฉํ๋ ค๋ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ install.packages()๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ํ๊ฒ ์ค์นํฉ๋๋ค.
- ์ด๋ฆ, ์ฃผ์ ๋ฑ์ ๋๋ฏธ ๋ฐ์ดํฐ์ด๋ฉฐ ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋๋๋ค.
require("RPostgreSQL")
require("tidyr")
require("dplyr")
require("stringr")
require("caret")
require("lubridate")
require("rsample")
require("recipes")
require("themis")
host <- "db"
port <- Sys.getenv()["PG_PORT"]
dbname <- Sys.getenv()["PG_DATABASE"]
user <- Sys.getenv()["PG_USER"]
password <- Sys.getenv()["PG_PASSWORD"]
con <- dbConnect(PostgreSQL(), host=host, port=port, dbname=dbname, user=user, password=password)
df_customer <- dbGetQuery(con,"SELECT * FROM customer")
df_category <- dbGetQuery(con,"SELECT * FROM category")
df_product <- dbGetQuery(con,"SELECT * FROM product")
df_receipt <- dbGetQuery(con,"SELECT * FROM receipt")
df_store <- dbGetQuery(con,"SELECT * FROM store")
df_geocode <- dbGetQuery(con,"SELECT * FROM geocode")
Loading required package: RPostgreSQL Loading required package: DBI Loading required package: tidyr Loading required package: dplyr Attaching package: โdplyrโ The following objects are masked from โpackage:statsโ: filter, lag The following objects are masked from โpackage:baseโ: intersect, setdiff, setequal, union Loading required package: stringr Loading required package: caret Loading required package: ggplot2 Loading required package: lattice Loading required package: lubridate Attaching package: โlubridateโ The following objects are masked from โpackage:baseโ: date, intersect, setdiff, union Loading required package: rsample Loading required package: recipes Attaching package: โrecipesโ The following object is masked from โpackage:stringrโ: fixed The following object is masked from โpackage:statsโ: step Loading required package: themis Registered S3 methods overwritten by 'themis': method from bake.step_downsample recipes bake.step_upsample recipes prep.step_downsample recipes prep.step_upsample recipes tidy.step_downsample recipes tidy.step_upsample recipes tunable.step_downsample recipes tunable.step_upsample recipes Attaching package: โthemisโ The following objects are masked from โpackage:recipesโ: step_downsample, step_upsample
ย
์ฐ์ต๋ฌธ์
R-001: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ์ ์ฒด ํญ๋ชฉ ์ค ์ฒซ 10๊ฑด์ ํ์ํ์ฌ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ๊ณ ์๋์ง ๋ชฉ์์ผ๋ก ํ์ธํ๋ผ.
head(df_receipt, n = 10)
ย | sales_ymd | sales_epoch | store_cd | receipt_no | receipt_sub_no | customer_id | product_cd | quantity | amount |
---|---|---|---|---|---|---|---|---|---|
ย | <int> | <int> | <chr> | <int> | <int> | <chr> | <chr> | <int> | <int> |
1 | 20181103 | 1541203200 | S14006 | 112 | 1 | CS006214000001 | P070305012 | 1 | 158 |
2 | 20181118 | 1542499200 | S13008 | 1132 | 2 | CS008415000097 | P070701017 | 1 | 81 |
3 | 20170712 | 1499817600 | S14028 | 1102 | 1 | CS028414000014 | P060101005 | 1 | 170 |
4 | 20190205 | 1549324800 | S14042 | 1132 | 1 | ZZ000000000000 | P050301001 | 1 | 25 |
5 | 20180821 | 1534809600 | S14025 | 1102 | 2 | CS025415000050 | P060102007 | 1 | 90 |
6 | 20190605 | 1559692800 | S13003 | 1112 | 1 | CS003515000195 | P050102002 | 1 | 138 |
7 | 20181205 | 1543968000 | S14024 | 1102 | 2 | CS024514000042 | P080101005 | 1 | 30 |
8 | 20190922 | 1569110400 | S14040 | 1102 | 1 | CS040415000178 | P070501004 | 1 | 128 |
9 | 20170504 | 1493856000 | S13020 | 1112 | 2 | ZZ000000000000 | P071302010 | 1 | 770 |
10 | 20191010 | 1570665600 | S14027 | 1102 | 1 | CS027514000015 | P071101003 | 1 | 680 |
์ค๋ช :
head(df_receipt, n = 10)์ด๋ผ๋ ์ฝ๋๋ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ฐ ์ด์ด ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ ํ์ ๊ฐ์ ๊ตฌ์กฐ์ ๋๋ค. ๊ตฌ์กฐํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ head() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒซ ๋ช ์ค์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 6ํ์ด ํ์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ n ์ธ์๋ก ํ์ํ ํ ์๋ฅผ ์ง์ ํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ n = 10์ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10 ์ค์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๊ฐ ์คํ๋๋ฉด ์ถ๋ ฅ์ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10ํ์ด ํ์๋ฉ๋๋ค.
R-002: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ์(sales_ymd), ๊ณ ๊ฐ ์์ด๋(customer_id), ์ํ์ฝ๋(product_cd), ํ๋งค๊ธ์ก(amount)์ ์์๋ก ์ด์ ์ง์ ํ์ฌ 10๊ฑด์ฉ ํ์ํ๋ผ.
head(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], n = 10)
ย | sales_ymd | customer_id | product_cd | amount |
---|---|---|---|---|
ย | <int> | <chr> | <chr> | <int> |
1 | 20181103 | CS006214000001 | P070305012 | 158 |
2 | 20181118 | CS008415000097 | P070701017 | 81 |
3 | 20170712 | CS028414000014 | P060101005 | 170 |
4 | 20190205 | ZZ000000000000 | P050301001 | 25 |
5 | 20180821 | CS025415000050 | P060102007 | 90 |
6 | 20190605 | CS003515000195 | P050102002 | 138 |
7 | 20181205 | CS024514000042 | P080101005 | 30 |
8 | 20190922 | CS040415000178 | P070501004 | 128 |
9 | 20170504 | ZZ000000000000 | P071302010 | 770 |
10 | 20191010 | CS027514000015 | P071101003 | 680 |
์ค๋ช :
head(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], n = 10)์ด๋ผ๋ ์ฝ๋๋ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋์ง๋ง, "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํ์ํฉ๋๋ค. ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํ์ํ๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ฐ ์ด์ด ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ ํ ์ด๋ธ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ค. ๊ตฌ์กฐํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ head() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒซ ๋ช ์ค์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 6ํ์ด ํ์๋ฉ๋๋ค. ํ์ง๋ง n ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ํ ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์งํฉ์ผ๋ก ๋ง๋ค์ด "sales_ymd", "customer_id", "product _cd", "amount" ์ด๋ง ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, c() ํจ์๋ ์ด ์ด๋ฆ์ ๋ฒกํฐ๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๋ฅผ ์คํํ๋ฉด df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10ํ์ด ์ถ๋ ฅ๋์ง๋ง "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํ์๋๋ค. ์ด๋ ํฐ ๋ฐ์ดํฐ ํ๋ ์์ ๋ค๋ฃฐ ๋ ์ด์ ํ์ ์งํฉ์๋ง ์ง์คํด์ผ ํ ๋ ์ ์ฉํ๋ค.
ย
R-003: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ๋งค์ถ์ผ์(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ์ฝ๋(product_cd), ๋งค์ถ๊ธ์ก(amount) ์์ผ๋ก ์ด์ ์ง์ ํ์ฌ 10๊ฑด์ฉ ํ์ํ๋ค. ๋จ, sales_ymdsales_date๋ก ํญ๋ชฉ๋ช ์ ๋ณ๊ฒฝํ๋ฉด์ ์ถ์ถํ๋ค.
head(rename(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], sales_date = sales_ymd), n = 10)
ย | sales_date | customer_id | product_cd | amount |
---|---|---|---|---|
ย | <int> | <chr> | <chr> | <int> |
1 | 20181103 | CS006214000001 | P070305012 | 158 |
2 | 20181118 | CS008415000097 | P070701017 | 81 |
3 | 20170712 | CS028414000014 | P060101005 | 170 |
4 | 20190205 | ZZ000000000000 | P050301001 | 25 |
5 | 20180821 | CS025415000050 | P060102007 | 90 |
6 | 20190605 | CS003515000195 | P050102002 | 138 |
7 | 20181205 | CS024514000042 | P080101005 | 30 |
8 | 20190922 | CS040415000178 | P070501004 | 128 |
9 | 20170504 | ZZ000000000000 | P071302010 | 770 |
10 | 20191010 | CS027514000015 | P071101003 | 680 |
์ค๋ช :
head(rename(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], sales_date = sales_ymd), n = 10)์ด๋ผ๋ ์ฝ๋๋ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์ ์ ์ฒ์ 10๊ฐ์ ํ์ ํ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋๋ฐ, "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ๋ณด์ฌ์ฃผ๊ณ "sales_ymd" ์ด์ "sales_date"๋ก ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ์๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ฐ ์ด์ด ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ ํ ์ด๋ธ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ค. ๊ตฌ์กฐํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ head() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ ๋ช ์ค์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 6ํ์ด ํ์๋ฉ๋๋ค. ํ์ง๋ง ์ธ์ n์ผ๋ก ํ์ํ ํ ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
R์ rename() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ด ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ "sales_ymd"๋ผ๋ ์ด์ ์ด๋ฆ์ "sales_date"๋ก ๋ฐ๊พธ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ์ฝ๋์์๋ df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]๋ฅผ ์ฌ์ฉํ์ฌ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์๋ธ์ ํ์ฌ "sales_ymd", "customer_id", " product_cd", "amount" ์ด๋ง ์ ํํ๋ค. c() ํจ์๋ ์ด ์ด๋ฆ์ ๋ฒกํฐ๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๋ค์์ผ๋ก rename(data_frame, new_column_name = old_column_name)์ด๋ผ๋ ๊ตฌ๋ฌธ์ผ๋ก, ํ์ ์งํฉ๋ ๋ฐ์ดํฐ ํ๋ ์์ rename() ํจ์๊ฐ ์ ์ฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]์ ๋์ผํ ํ๊ณผ ์ด์ ๊ฐ์ง ๋ฐ์ดํฐ ํ๋ ์์ด ๋์ง๋ง, "sales_ymd" ์ด์ "sales_date"๋ก ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ด๋ฆ์ ๋ฐ๊พผ ๋ฐ์ดํฐ ํ๋ ์์ head() ํจ์๋ฅผ ์ ์ฉํ์ฌ ์ฒ์ 10๊ฐ์ ํ์ ํ์ํฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๋ฅผ ์คํํ๋ฉด ์ถ๋ ฅ์ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10ํ์ด ํ์๋์ง๋ง "sales_date", "customer_id", "product_cd", "amount" ์ด๋ง ํ์๋๊ณ "sales_ymd" ์ด์ "sales _date"๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
ย
R-004: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ ์ฝ๋(product_cd), ํ๋งค ๊ธ์ก(amount) ์์ผ๋ก ์ด์ ์ง์ ํ๊ณ , ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์์ค.
- ๊ณ ๊ฐ ID(customer_id)๊ฐ โCS018205000001โ.
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001")
sales_ymd | customer_id | product_cd | amount |
---|---|---|---|
<int> | <chr> | <chr> | <int> |
20180911 | CS018205000001 | P071401012 | 2200 |
20180414 | CS018205000001 | P060104007 | 600 |
20170614 | CS018205000001 | P050206001 | 990 |
20170614 | CS018205000001 | P060702015 | 108 |
20190216 | CS018205000001 | P071005024 | 102 |
20180414 | CS018205000001 | P071101002 | 278 |
20190226 | CS018205000001 | P070902035 | 168 |
20190924 | CS018205000001 | P060805001 | 495 |
20190226 | CS018205000001 | P071401020 | 2200 |
20180911 | CS018205000001 | P071401005 | 1100 |
20190216 | CS018205000001 | P040101002 | 218 |
20190924 | CS018205000001 | P091503001 | 280 |
์ค๋ช :
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001")๋ผ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์ ํ์ ์งํฉ์ผ๋ก "sales_ymd" ์ด๋ง ์ ํํฉ๋๋ค." "customer_id", "product_cd", "amount"์ ์ธ ๊ฐ์ ์ปฌ๋ผ์ ๊ฐ์ง ๋ฐ์ดํฐ ํ๋ ์์ ๋ง๋ค๊ณ "customer_id" ์ปฌ๋ผ์ด "CS018205000001"๊ณผ ๊ฐ์ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํฉ๋๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ํ ์ด๋ธ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก, ๊ฐ ์ปฌ๋ผ์ ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ค. ๊ตฌ์กฐํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ %>% ์ฐ์ฐ์๋ฅผ ํ์ดํ ์ฐ์ฐ์๋ผ๊ณ ํ๋๋ฐ, ์ฌ๋ฌ ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํ๋์ ์์์ผ๋ก ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ์์ ์์๋ df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]์ ์ถ๋ ฅ์ filter() ํจ์์ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
R์ filter() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ์ ์ ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์ด ๊ฒฝ์ฐ "customer_id" ์ปฌ๋ผ์ด "CS018205000001"๊ณผ ๊ฐ์ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๋ฅผ ์คํํ๋ฉด "sales_ymd", "customer_id", "product_cd", "amount" ์ปฌ๋ผ๋ง ํฌํจํ๊ณ "customer_id" ์ปฌ๋ผ์ด "CS018205000001"๊ณผ ๋์ผํ ํ๋ง ํฌํจํ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ถ๋ ฅํฉ๋๋ค. ๋ก ์ถ๋ ฅํ๋ค. ์ด๋ ํฐ ๋ฐ์ดํฐ ํ๋ ์์ ๋ถ์ํ ๋ ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ํ์ ํ์ ์งํฉ์๋ง ์ง์คํด์ผ ํ ๋ ์ ์ฉํ๋ค.
R-005: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ ์ฝ๋(product_cd), ํ๋งค ๊ธ์ก(amount)์ ์์๋ก ์ด์ ์ง์ ํ๊ณ , ์๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ผ.
- ๊ณ ๊ฐ ID(customer_id)๊ฐ โCS018205000001โ
- ๋งค์ถ ๊ธ์ก(amount)์ด 1,000 ์ด์
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001" & amount >= 1000)
sales_ymd | customer_id | product_cd | amount |
---|---|---|---|
<int> | <chr> | <chr> | <int> |
20180911 | CS018205000001 | P071401012 | 2200 |
20190226 | CS018205000001 | P071401020 | 2200 |
20180911 | CS018205000001 | P071401005 | 1100 |
์ค๋ช :
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001" & amount >= 1000) ๋ผ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ df_receipt receipt ๋ฐ์ดํฐ ํ๋ ์์ ๋ถ๋ถ ์งํฉํํ์ฌ "sales_ymd" ์ด๋ง ์ ํํฉ๋๋ค." customer_id", "product_cd", "amount" ์ธ ๊ฐ์ ๋ฐ์ดํฐ ํ๋ ์์ ๋ง๋ค๊ณ "customer_id" ์ด์ด "CS018205000001", "amount" ์ด์ด 1000๊ฐ ์ด์์ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ํ ์ด๋ธ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก, ๊ฐ ์ด์ ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ค. ๊ตฌ์กฐํ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ %>% ์ฐ์ฐ์๋ฅผ ํ์ดํ ์ฐ์ฐ์๋ผ๊ณ ํ๋๋ฐ, ์ฌ๋ฌ ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํ๋์ ์์์ผ๋ก ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ์์ ์์๋ df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]์ ์ถ๋ ฅ์ filter() ํจ์์ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉํ๊ณ ์๋ค.
R์ filter() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ์ ์ ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์ด ๊ฒฝ์ฐ "customer_id" ์ด์ด "CS018205000001"๊ณผ ๊ฐ๊ณ "amount" ์ด์ด 1000๊ฐ ์ด์์ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ๋ ์กฐ๊ฑด์ ๊ฒฐํฉํ๊ธฐ ์ํด & ์ฐ์ฐ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๋ฅผ ์คํํ๋ฉด "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํฌํจ๋ ๋ฐ์ดํฐ ํ๋ ์์ด ์ถ๋ ฅ๋๋ฉฐ, "customer_id" ์ด์ด "CS018205000001"๊ณผ ๊ฐ๊ณ "CS018205000001", "amount" ์ด์ด 1000๊ฐ ์ด์์ ํ์ ํฌํจํ๋ ๋ฐ์ดํฐ ํ๋ ์์ด ์ถ๋ ฅ๋๋ค. amount" ์ปฌ๋ผ์ด 1000๊ฐ ์ด์์ธ ํ๋ง ํฌํจ๋๋ค. ์ด๋ ํฐ ๋ฐ์ดํฐ ํ๋ ์์ ๋ถ์ํ ๋ ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ํ์ ํ์ ์งํฉ์๋ง ์ง์คํด์ผ ํ ๋ ์ ์ฉํ๋ค.
R-006: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ ์ฝ๋(product_cd), ํ๋งค ์๋(quantity), ํ๋งค ๊ธ์ก(amount) ์์ผ๋ก ์ด์ ์ง์ ํ๊ณ , ๋ค์ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ผ. ์ถ์ถํ๋ผ.
- ๊ณ ๊ฐ ID(customer_id)๊ฐ โCS018205000001โ.
- ํ๋งค๊ธ์ก(amount)์ด 1,000 ์ด์ ๋๋ ํ๋งค์๋(quantity)์ด 5 ์ด์
df_receipt[c("sales_ymd", "customer_id", "product_cd", "quantity", "amount")] %>% filter(customer_id == "CS018205000001" & (amount >= 1000 | quantity >= 5))
sales_ymd | customer_id | product_cd | quantity | amount |
---|---|---|---|---|
<int> | <chr> | <chr> | <int> | <int> |
20180911 | CS018205000001 | P071401012 | 1 | 2200 |
20180414 | CS018205000001 | P060104007 | 6 | 600 |
20170614 | CS018205000001 | P050206001 | 5 | 990 |
20190226 | CS018205000001 | P071401020 | 1 | 2200 |
20180911 | CS018205000001 | P071401005 | 1 | 1100 |
์ค๋ช :
df_receipt[c("sales_ymd", "customer_id", "product_cd", "quantity", "amount")] %>% filter(customer_id == "CS018205000001" & (amount >= 1000 | quantity >= 5))๋ผ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ๋ถ๋ถ ์งํฉํํ์ฌ "sales_ymd", "customer_id", "product_cd" ์ด๋ง ์ ํํ๋ค." "quantity", "amount", "customer_id" ์ด์ด "CS018205000001"๊ณผ ๊ฐ๊ณ "amount" ์ด์ด 1000 ์ด์์ด๊ฑฐ๋ "quantity" ์ด์ด 5 ์ด์์ธ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํฉ๋๋ค.
R์์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ฐ ์ด์ด ์ซ์, ๋ฌธ์, ์ธ์ ๋ฑ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๋ ํ์ ๊ฐ์ ๊ตฌ์กฐ์ด๋ค. ๊ตฌ์กฐํ๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐ์ํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ค.
R์ %>% ์ฐ์ฐ์๋ฅผ ํ์ดํ ์ฐ์ฐ์๋ผ๊ณ ํ๋๋ฐ, ์ฌ๋ฌ ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํ๋์ ์์์ผ๋ก ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ์์ ์์๋ df_receipt[c("sales_ymd", "customer_id", "product_cd", "quantity", "amount")]์ ์ถ๋ ฅ์ filter() ํจ์์ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
R์ filter() ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ์ ์ ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์ด ๊ฒฝ์ฐ "customer_id" ์ปฌ๋ผ์ด "CS018205000001"๊ณผ ๊ฐ๊ณ "amount" ์ปฌ๋ผ์ด 1000 ์ด์ ๋๋ "quantity" ์ปฌ๋ผ์ด 5 ์ด์์ธ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์๋ & ์ฐ์ฐ์๊ฐ, OR ์กฐ๊ฑด์ ์ง์ ํ๊ธฐ ์ํด์๋ | ์ฐ์ฐ์๊ฐ ์ฌ์ฉ๋๋ค.
๋ฐ๋ผ์ ์ด ์ฝ๋๋ฅผ ์คํํ๋ฉด 'sales_ymd', 'customer_id', 'product_cd', 'quantity', 'amount' ์ด๋ง ํฌํจ๋ ๋ฐ์ดํฐ ํ๋ ์์ด ์ถ๋ ฅ๋๋ฉฐ, 'customer_id' ์ด์ด 'CS018205000001'๊ณผ ๊ฐ๊ณ 'cs018205000001', 'product_cd', 'quantity', 'amount' ์ด์ด umount' ์ด์ด 1000๊ฐ ์ด์ ๋๋ 'quantity' ์ด์ด 5๊ฐ ์ด์์ธ ํ๋ง ํฌํจ๋๋ค. ์ด๋ ํฐ ๋ฐ์ดํฐ ํ๋ ์์ ๋ถ์ํ ๋ ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ํ์ ํ์ ์งํฉ์๋ง ์ง์คํด์ผ ํ ๋ ์ ์ฉํ๋ค.
R-007: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ ์ฝ๋(product_cd), ํ๋งค ๊ธ์ก(amount)์ ์์๋ก ์ด์ ์ง์ ํ๊ณ , ์๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ผ.
- ๊ณ ๊ฐ ID(customer_id)๊ฐ โCS018205000001โ
- ๋งค์ถ ๊ธ์ก(amount)์ด 1,000 ์ด์ 2,000 ์ดํ
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001" & between(amount, 1000, 2000))
sales_ymd | customer_id | product_cd | amount |
---|---|---|---|
<int> | <chr> | <chr> | <int> |
20180911 | CS018205000001 | P071401005 | 1100 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]: df_receipt ๋ฐ์ดํฐ ํ๋ ์์ "sales_ymd", "customer_id", "product_cd", " amount" ์ปฌ๋ผ๋ง ํฌํจํ๋๋ก ์๋ธ์ ์ ์ค์ ํ๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก, ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(customer_id == "CS018205000001" & between(amount, 1000, 2000)): ๊ณ ๊ฐ ID๊ฐ "CS018205000001"์ด๊ณ ๊ธ์ก์ด 1000์์ 2000 ์ฌ์ด์ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํฉ๋๋ค. ํํฐ๋งํ๊ณ ์์ต๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์๋ธ์ ํ์ฌ "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํฌํจํ๋๋ก ํ๊ณ , ์ป์ด์ง ๋ฐ์ดํฐ ํ๋ ์์ ๊ณ ๊ฐ ID๊ฐ "CS018205000001"์ด๊ณ ๊ธ์ก์ด 1000์์ 2000๊น์ง์ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ ๊ฒ์ด๋ค.
R-008: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์์ ํ๋งค์ผ(sales_ymd), ๊ณ ๊ฐ ID(customer_id), ์ํ ์ฝ๋(product_cd), ํ๋งค ๊ธ์ก(amount)์ ์์๋ก ์ด์ ์ง์ ํ๊ณ , ์๋ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ผ.
- ๊ณ ๊ฐ ID(customer_id)๊ฐ โCS018205000001โ
- ์ํ์ฝ๋(product_cd)๊ฐ โP071401019โ ์ด์ธ
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001" & product_cd != "P071401019")
sales_ymd | customer_id | product_cd | amount |
---|---|---|---|
<int> | <chr> | <chr> | <int> |
20180911 | CS018205000001 | P071401012 | 2200 |
20180414 | CS018205000001 | P060104007 | 600 |
20170614 | CS018205000001 | P050206001 | 990 |
20170614 | CS018205000001 | P060702015 | 108 |
20190216 | CS018205000001 | P071005024 | 102 |
20180414 | CS018205000001 | P071101002 | 278 |
20190226 | CS018205000001 | P070902035 | 168 |
20190924 | CS018205000001 | P060805001 | 495 |
20190226 | CS018205000001 | P071401020 | 2200 |
20180911 | CS018205000001 | P071401005 | 1100 |
20190216 | CS018205000001 | P040101002 | 218 |
20190924 | CS018205000001 | P091503001 | 280 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]: df_receipt ๋ฐ์ดํฐ ํ๋ ์์ "sales_ymd", "customer_id", "product_cd", " amount" ์ปฌ๋ผ๋ง ํฌํจํ๋๋ก ์๋ธ์ ์ ์ค์ ํ๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก, ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(customer_id == "CS018205000001" & product_cd ! = "P071401019"): ๊ณ ๊ฐ ID๊ฐ "CS018205000001"์ด๊ณ ์ํ ์ฝ๋๊ฐ "P0714019"์ ๊ฐ์ง ์์ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ ์๋ค.
์ฆ, ์ด ์ฝ๋๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์งํฉํํ์ฌ "sales_ymd", "customer_id", "product_cd", "amount" ์ด๋ง ํฌํจํ๋๋ก ํํฐ๋งํ์ฌ ์ป์ ๋ฐ์ดํฐ ํ๋ ์์ ๊ณ ๊ฐ ID๊ฐ "CS0182050001"์ด๊ณ ์ํ ์ฝ๋๊ฐ "P0714019"์ธ ์ํ ์ฝ๋๊ฐ "P0714019"์ ๊ฐ์ง ์์ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๋ ๊ฒ์ด๋ค.
R-009: ๋ค์ ์ฒ๋ฆฌ์์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊พธ์ง ์๊ณ OR์ AND๋ก ๋ค์ ์์ฑํ์์ค.
df_store %>% filter(!(prefecture_cd == "13" | floor_area > 900))
df_store %>% filter(prefecture_cd != "13" & floor_area <= 900)
store_cd | store_name | prefecture_cd | prefecture | address | address_kana | tel_no | longitude | latitude | floor_area |
---|---|---|---|---|---|---|---|---|---|
<chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <dbl> | <dbl> | <dbl> |
S14046 | ๅๅฑฑ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบๅๅฑฑ็ฐไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใญใฟใคใใฟใคใใใงใฆใก | 045-123-4049 | 139.5916 | 35.56189 | 831 |
S14011 | ๆฅๅๆฌ็บๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บๅไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใใจใทใใณใใงใฆใจใณใใงใฆใก | 045-123-4033 | 139.6316 | 35.54655 | 890 |
S12013 | ็ฟๅฟ้ๅบ | 12 | ๅ่็ | ๅ่็็ฟๅฟ้ๅธ่ๅไธไธ็ฎ | ใใใฑใณใใฉใทใใทใทใใพใใคใใใงใฆใก | 047-123-4002 | 140.0220 | 35.66122 | 808 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_store๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(prefecture_cd ! = "13" & floor_area <= 900): ํ ์ฝ๋๊ฐ "13"์ด ์๋๊ณ ๋ฐ๋ฅ ๋ฉด์ ์ด 900 ์ดํ์ธ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ ์๋ค.
์ฆ, ์ด ์ฝ๋๋ df_store ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ ๋๋๋ถํ ์ฝ๋๊ฐ "13"์ด ์๋ ๋ฐ๋ฅ ๋ฉด์ ์ด 900 ์ดํ์ธ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๊ณ ์์ต๋๋ค.
R-010: ๋งค์ฅ ๋ฐ์ดํฐ(df_store)์์ ๋งค์ฅ ์ฝ๋(store_cd)๊ฐ โS14โณ๋ก ์์ํ๋ ํญ๋ชฉ๋ง ์ ์ฒด ์ถ์ถํ์ฌ 10๊ฐ๋ฅผ ํ์ํ๋ผ.
head(df_store %>% filter(startsWith(store_cd, "S14")), n = 10)
ย | store_cd | store_name | prefecture_cd | prefecture | address | address_kana | tel_no | longitude | latitude | floor_area |
---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <dbl> | <dbl> | <dbl> |
1 | S14010 | ่ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบ่ๅไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใญใฏใใคใใใงใฆใก | 045-123-4032 | 139.6326 | 35.50049 | 1732 |
2 | S14033 | ้ฟไน ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4043 | 139.4961 | 35.45918 | 1495 |
3 | S14036 | ็ธๆจกๅไธญๅคฎๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็็ธๆจกๅๅธไธญๅคฎไบไธ็ฎ | ใซใใฌใฏใฑใณใตใฌใใใฉใทใใฅใฆใชใฆใใใงใฆใก | 042-123-4045 | 139.3716 | 35.57327 | 1679 |
4 | S14040 | ้ทๆดฅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบ้ทๆดฅ็ฐใฟใชใฟๅฐไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใใชใฏใใฌใใฟใใใใใคใดใใงใฆใก | 045-123-4046 | 139.4994 | 35.52398 | 1548 |
5 | S14050 | ้ฟไน ๅ่ฅฟๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4053 | 139.4961 | 35.45918 | 1830 |
6 | S14028 | ไบใๆฉๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบไบใๆฉ็บ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใใฟใใใทใใงใฆ | 045-123-4042 | 139.4963 | 35.46304 | 1574 |
7 | S14012 | ๆฌ็งๅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฌ็งๅ็ฐ | ใซใใฌใฏใฑใณใจใณใใใทใใซใฏใใณใขใฏใฏใ | 045-123-4034 | 139.6582 | 35.42156 | 1341 |
8 | S14046 | ๅๅฑฑ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบๅๅฑฑ็ฐไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใญใฟใคใใฟใคใใใงใฆใก | 045-123-4049 | 139.5916 | 35.56189 | 831 |
9 | S14022 | ้ๅญๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็้ๅญๅธ้ๅญไธไธ็ฎ | ใซใใฌใฏใฑใณใบใทใทใบใทใคใใใงใฆใก | 046-123-4036 | 139.5789 | 35.29642 | 1838 |
10 | S14011 | ๆฅๅๆฌ็บๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บๅไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใใจใทใใณใใงใฆใจใณใใงใฆใก | 045-123-4033 | 139.6316 | 35.54655 | 890 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_store๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์ค๋ช ํฉ๋๋ค.
df_store์ ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(startsWith(store_cd, "S14")): store_cd ์ด์ด "S14"๋ก ์์ํ๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ ์๋ค.
head(. , n = 10): head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_store ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ store_cd ์ด์ด "S14"๋ก ์์ํ๋ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค.
ย
R-011: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)์์ ๊ณ ๊ฐ ID(customer_id)์ ๋์๋ฆฌ๊ฐ 1์ธ ํญ๋ชฉ๋ง ์ ์ฒด ์ถ์ถํ์ฌ 10๊ฑด์ ํ์ํ๋ผ.
head(df_customer %>% filter(endsWith(customer_id, "1")), n = 10)
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
1 | CS037613000071 | ๅ ญ่ง ้ ๅฝฆ | 9 | ไธๆ | 1952-04-01 | 66 | 136-0076 | ๆฑไบฌ้ฝๆฑๆฑๅบๅ็ ********** | S13037 | 20150414 | 0-00000000-0 |
2 | CS028811000001 | ๅ ไบ ใใใ | 1 | ๅฅณๆง | 1933-03-27 | 86 | 245-0016 | ็ฅๅฅๅท็ๆจชๆตๅธๆณๅบๅๆณ็บ********** | S14028 | 20160115 | 0-00000000-0 |
3 | CS040412000191 | ๅทไบ ้ๆต | 1 | ๅฅณๆง | 1977-01-05 | 42 | 226-0021 | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบๅๅ ซๆ็บ********** | S14040 | 20151101 | 1-20091025-4 |
4 | CS028314000011 | ๅฐ่ ใใใ | 1 | ๅฅณๆง | 1983-11-26 | 35 | 246-0038 | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบๅฎฎๆฒข********** | S14028 | 20151123 | 1-20080426-5 |
5 | CS039212000051 | ่คๅณถ ๆตๆขจ้ฆ | 1 | ๅฅณๆง | 1997-02-03 | 22 | 166-0001 | ๆฑไบฌ้ฝๆไธฆๅบ้ฟไฝ่ฐทๅ********** | S13039 | 20171121 | 1-20100215-4 |
6 | CS015412000111 | ๆพๅฑ ๅฅๆ | 1 | ๅฅณๆง | 1972-10-04 | 46 | 136-0071 | ๆฑไบฌ้ฝๆฑๆฑๅบไบๆธ********** | S13015 | 20150629 | 0-00000000-0 |
7 | CS004702000041 | ้ๅณถ ๆด | 0 | ็ทๆง | 1943-08-24 | 75 | 176-0022 | ๆฑไบฌ้ฝ็ทด้ฆฌๅบๅๅฑฑ********** | S13004 | 20170218 | 0-00000000-0 |
8 | CS041515000001 | ๆ ็ฐ ๅๅค | 1 | ๅฅณๆง | 1967-01-02 | 52 | 206-0001 | ๆฑไบฌ้ฝๅคๆฉๅธๅ็ฐ********** | S13041 | 20160422 | E-20100803-F |
9 | CS029313000221 | ๅๆก ใฒใใ | 1 | ๅฅณๆง | 1987-06-19 | 31 | 279-0011 | ๅ่็ๆตฆๅฎๅธ็พๆต********** | S12029 | 20180810 | 0-00000000-0 |
10 | CS034312000071 | ๆๆ ๅฅๅคฎ | 1 | ๅฅณๆง | 1980-09-20 | 38 | 213-0026 | ็ฅๅฅๅท็ๅทๅดๅธ้ซๆดฅๅบไน ๆซ********** | S14034 | 20160106 | 0-00000000-0 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_customer๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_customer: df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
dplyr: dplyr์ ํ์ดํ ์ฐ์ฐ์์ด๋ฉฐ, ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(endsWith(customer_id, "1")): customer_id ์ด์ ๋์ด "1"์ธ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ค.
head(. , n = 10): head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ customer_id ์ปฌ๋ผ์ด "1"๋ก ๋๋๋ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๊ณ , head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์๋ ๊ฒ์ ๋๋ค.
R-012: ์ ํฌ ๋ฐ์ดํฐ(df_store)์์ ์ฃผ์(address)์ โ์์ฝํ๋ง์โ๊ฐ ํฌํจ๋ ํญ๋ชฉ๋ง ๋ชจ๋ ํ์ํ๋ค.
df_store %>% filter(grepl("ๆจชๆตๅธ", address))
store_cd | store_name | prefecture_cd | prefecture | address | address_kana | tel_no | longitude | latitude | floor_area |
---|---|---|---|---|---|---|---|---|---|
<chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <dbl> | <dbl> | <dbl> |
S14010 | ่ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบ่ๅไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใญใฏใใคใใใงใฆใก | 045-123-4032 | 139.6326 | 35.50049 | 1732 |
S14033 | ้ฟไน ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4043 | 139.4961 | 35.45918 | 1495 |
S14040 | ้ทๆดฅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบ้ทๆดฅ็ฐใฟใชใฟๅฐไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใใชใฏใใฌใใฟใใใใใคใดใใงใฆใก | 045-123-4046 | 139.4994 | 35.52398 | 1548 |
S14050 | ้ฟไน ๅ่ฅฟๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4053 | 139.4961 | 35.45918 | 1830 |
S14028 | ไบใๆฉๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบไบใๆฉ็บ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใใฟใใใทใใงใฆ | 045-123-4042 | 139.4963 | 35.46304 | 1574 |
S14012 | ๆฌ็งๅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฌ็งๅ็ฐ | ใซใใฌใฏใฑใณใจใณใใใทใใซใฏใใณใขใฏใฏใ | 045-123-4034 | 139.6582 | 35.42156 | 1341 |
S14046 | ๅๅฑฑ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบๅๅฑฑ็ฐไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใญใฟใคใใฟใคใใใงใฆใก | 045-123-4049 | 139.5916 | 35.56189 | 831 |
S14011 | ๆฅๅๆฌ็บๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บๅไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใใจใทใใณใใงใฆใจใณใใงใฆใก | 045-123-4033 | 139.6316 | 35.54655 | 890 |
S14048 | ไธญๅทไธญๅคฎๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบไธญๅทไธญๅคฎไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใใซใฌใฏใใฅใฆใชใฆใใใงใฆใก | 045-123-4051 | 139.5758 | 35.54912 | 1657 |
S14042 | ๆฐๅฑฑไธๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฐๅฑฑไธไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใซใฏใทใณใคใใทใฟใใใงใฆใก | 045-123-4047 | 139.6593 | 35.43894 | 1044 |
S14006 | ่ใ่ฐทๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบ่ใ่ฐท | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใฏใบใฌใค | 045-123-4031 | 139.5633 | 35.53573 | 1886 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_store๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์ค๋ช ํฉ๋๋ค.
df_store์ ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(grepl("์์ฝํ๋ง์", address)): ์ฃผ์๋์ '์์ฝํ๋ง์'๋ผ๋ ๋ฌธ์์ด์ด ํฌํจ๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ ์์ผ๋ฉฐ, grepl() ํจ์๋ address ์ด์ ๊ฐ ์์์ '์์ฝํ๋ง์'๋ผ๋ ํจํด์ด ์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_store ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ ์ฃผ์ ์ด์ "์์ฝํ๋ง์"๋ผ๋ ๋ฌธ์์ด์ด ํฌํจ๋ ํ๋ง ํฌํจํ๋๋ก ํ๊ณ ์๋ ๊ฒ์ ๋๋ค.
R-013: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)์์ ์ํ์ฝ๋(status_cd)๊ฐ ์ํ๋ฒณ A~F๋ก ์์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ถ์ถํ์ฌ 10๊ฑด์ ํ์ํ๋ผ.
head(df_customer %>% filter(grepl("^[A-F]", status_cd)), n = 10)
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
1 | CS031415000172 | ๅฎๅค็ฐ ่ฒด็พๅญ | 1 | ๅฅณๆง | 1976-10-04 | 42 | 151-0053 | ๆฑไบฌ้ฝๆธ่ฐทๅบไปฃใ ๆจ********** | S13031 | 20150529 | D-20100325-C |
2 | CS015414000103 | ๅฅฅ้ ้ฝๅญ | 1 | ๅฅณๆง | 1977-08-09 | 41 | 136-0073 | ๆฑไบฌ้ฝๆฑๆฑๅบๅ็ ********** | S13015 | 20150722 | B-20100609-B |
3 | CS011215000048 | ่ฆ็ฐ ๆฒ่ถ | 1 | ๅฅณๆง | 1992-02-01 | 27 | 223-0062 | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บ********** | S14011 | 20150228 | C-20100421-9 |
4 | CS029415000023 | ๆข ็ฐ ้็ฉ | 1 | ๅฅณๆง | 1976-01-17 | 43 | 279-0043 | ๅ่็ๆตฆๅฎๅธๅฏๅฃซ่ฆ********** | S12029 | 20150610 | D-20100918-E |
5 | CS035415000029 | ๅฏบๆฒข ็ๅธ | 9 | ไธๆ | 1977-09-27 | 41 | 158-0096 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบ็ๅทๅฐ********** | S13035 | 20141220 | F-20101029-F |
6 | CS031415000106 | ๅฎ้ ็ฑ็พๅญ | 1 | ๅฅณๆง | 1970-02-26 | 49 | 151-0053 | ๆฑไบฌ้ฝๆธ่ฐทๅบไปฃใ ๆจ********** | S13031 | 20150201 | F-20100511-E |
7 | CS029215000025 | ็ณๅ ็พๅธ | 1 | ๅฅณๆง | 1993-09-28 | 25 | 279-0022 | ๅ่็ๆตฆๅฎๅธไปๅท********** | S12029 | 20150708 | B-20100820-C |
8 | CS033605000005 | ็ช่ก ้ๅคช | 0 | ็ทๆง | 1955-12-05 | 63 | 246-0031 | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ็ฌ่ฐท********** | S14033 | 20150425 | F-20100917-E |
9 | CS033415000229 | ๆฟๅฃ ่ใ ็พ | 1 | ๅฅณๆง | 1977-11-07 | 41 | 246-0021 | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบไบใๆฉ็บ********** | S14033 | 20150712 | F-20100326-E |
10 | CS008415000145 | ้ป่ฐท ้บป็ท | 1 | ๅฅณๆง | 1977-06-27 | 41 | 157-0067 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบๅๅค่ฆ********** | S13008 | 20150829 | F-20100622-F |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_customer๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_customer: df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์์ด๋ฉฐ, ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(grepl("^[A-F]", status_cd)): status_cd ์ด์ด A, B, C, D, E, F ๋ฌธ์๋ก ์์ํ๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ , grepl() ํจ์๋ ์ ๊ท์ "^[A-F]"๊ฐ status_cd ์ด์ ๊ฐ ์์์ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. ์ ๊ฐ ์์์ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐํํ๋ค. ์ ๊ท ํํ์ "^[A-F]"๋ A, B, C, D, E ๋๋ F๋ก ์์ํ๋ ๋ชจ๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ค.
head(. , n = 10): ์ด๊ฒ์ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10 ์ค์ ์ ํํฉ๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ status_cd ์ด์ด A, B, C, D, E, F๋ก ์์ํ๋ ํ๋ง ํฌํจํ๋๋ก ํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๋ค.
R-014: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)์์ ์ํ์ฝ๋(status_cd)์ ๋์๋ฆฌ๊ฐ ์ซ์ 1~9๋ก ๋๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ถ์ถํ์ฌ 10๊ฑด์ ํ์ํ๋ผ.
head(df_customer %>% filter(grepl("[1-9]$", status_cd)), n = 10)
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
1 | CS001215000145 | ็ฐๅด ็พ็ด | 1 | ๅฅณๆง | 1995-03-29 | 24 | 144-0055 | ๆฑไบฌ้ฝๅคง็ฐๅบไปฒๅ ญ้ท********** | S13001 | 20170605 | 6-20090929-2 |
2 | CS033513000180 | ๅฎๆ ้ฅ | 1 | ๅฅณๆง | 1962-07-11 | 56 | 241-0823 | ็ฅๅฅๅท็ๆจชๆตๅธๆญๅบๅ้จ็บ********** | S14033 | 20150728 | 6-20080506-5 |
3 | CS011215000048 | ่ฆ็ฐ ๆฒ่ถ | 1 | ๅฅณๆง | 1992-02-01 | 27 | 223-0062 | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บ********** | S14011 | 20150228 | C-20100421-9 |
4 | CS040412000191 | ๅทไบ ้ๆต | 1 | ๅฅณๆง | 1977-01-05 | 42 | 226-0021 | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบๅๅ ซๆ็บ********** | S14040 | 20151101 | 1-20091025-4 |
5 | CS009315000023 | ็ๅท ๆไธ | 1 | ๅฅณๆง | 1980-04-15 | 38 | 154-0012 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบ้งๆฒข********** | S13009 | 20150319 | 5-20080322-1 |
6 | CS015315000033 | ็ฆๅฃซ ็ๅฅๅญ | 1 | ๅฅณๆง | 1983-03-17 | 36 | 135-0043 | ๆฑไบฌ้ฝๆฑๆฑๅบๅกฉๆต********** | S13015 | 20141024 | 4-20080219-3 |
7 | CS023513000066 | ็ฅๆธ ใใ | 1 | ๅฅณๆง | 1961-12-17 | 57 | 210-0005 | ็ฅๅฅๅท็ๅทๅดๅธๅทๅดๅบๆฑ็ฐ็บ********** | S14023 | 20150915 | 5-20100524-9 |
8 | CS035513000134 | ๅธๅท ็พๅธ | 1 | ๅฅณๆง | 1960-03-27 | 59 | 156-0053 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบๆก********** | S13035 | 20150227 | 8-20100711-9 |
9 | CS001515000263 | ้ซๆพ ๅค็ฉบ | 1 | ๅฅณๆง | 1962-11-09 | 56 | 144-0051 | ๆฑไบฌ้ฝๅคง็ฐๅบ่ฅฟ่ฒ็ฐ********** | S13001 | 20160812 | 1-20100804-1 |
10 | CS040314000027 | ้ถด็ฐ ใใฟใพใ | 9 | ไธๆ | 1986-03-26 | 33 | 226-0027 | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบ้ทๆดฅ็ฐ********** | S14040 | 20150122 | 2-20080426-4 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_customer๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(grepl("[1-9]$", status_cd)): status_cd ์ด์ ๋์ด 1-9 ์ซ์๋ก ๋๋๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๊ณ , grepl() ํจ์๋ ์ ๊ท ํํ์ "[1-9]$"๊ฐ status_cd ์ด์ ๊ฐ ์์์ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐํํ๋ค. ์ ๊ท ํํ์ "[1-9]$"๋ 1~9๋ก ๋๋๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ค.
head(. , n = 10)์ ์ฌ์ฉํ๋ค. ์ด๊ฒ์ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10์ค์ ์ ํํ๊ณ ์๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ status_cd ์ด์ ๋์ด 1-9 ์ซ์๋ก ๋๋๋ ํ๋ง ํฌํจํ๋๋ก ํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์๋ ๊ฒ์ด๋ค.
R-015: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)์์ ์ํ์ฝ๋(status_cd)์ ์์์ด ์ํ๋ฒณ A~F๋ก ์์ํ๊ณ ๋์ด ์ซ์ 1~9๋ก ๋๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ถ์ถํ์ฌ 10๊ฑด์ ํ์ํ๋ผ.
head(df_customer %>% filter(grepl("^[A-F].*[1-9]$", status_cd)), n = 10)
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
1 | CS011215000048 | ่ฆ็ฐ ๆฒ่ถ | 1 | ๅฅณๆง | 1992-02-01 | 27 | 223-0062 | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บ********** | S14011 | 20150228 | C-20100421-9 |
2 | CS022513000105 | ๅณถๆ ่ฒด็พๅญ | 1 | ๅฅณๆง | 1962-03-12 | 57 | 249-0002 | ็ฅๅฅๅท็้ๅญๅธๅฑฑใฎๆ น********** | S14022 | 20150320 | A-20091115-7 |
3 | CS001515000096 | ๆฐด้ ้ฝๅญ | 9 | ไธๆ | 1960-11-29 | 58 | 144-0053 | ๆฑไบฌ้ฝๅคง็ฐๅบ่ฒ็ฐๆฌ็บ********** | S13001 | 20150614 | A-20100724-7 |
4 | CS013615000053 | ่ฅฟ่ ๅญฃ่กฃ | 1 | ๅฅณๆง | 1953-10-18 | 65 | 261-0026 | ๅ่็ๅ่ๅธ็พๆตๅบๅนๅผต่ฅฟ********** | S12013 | 20150128 | B-20100329-6 |
5 | CS020412000161 | ๅฐๅฎฎ ่ซ | 1 | ๅฅณๆง | 1974-05-21 | 44 | 174-0042 | ๆฑไบฌ้ฝๆฟๆฉๅบๆฑๅไธ********** | S13020 | 20150822 | B-20081021-3 |
6 | CS001215000097 | ็ซนไธญ ใใใฟ | 1 | ๅฅณๆง | 1990-07-25 | 28 | 146-0095 | ๆฑไบฌ้ฝๅคง็ฐๅบๅคๆฉๅท********** | S13001 | 20170315 | A-20100211-2 |
7 | CS035212000007 | ๅ ๆ ๆตๆขจ้ฆ | 1 | ๅฅณๆง | 1990-12-04 | 28 | 152-0023 | ๆฑไบฌ้ฝ็ฎ้ปๅบๅ ซ้ฒ********** | S13035 | 20151013 | B-20101018-6 |
8 | CS002515000386 | ้็ฐ ใณใฆ | 1 | ๅฅณๆง | 1963-05-30 | 55 | 185-0013 | ๆฑไบฌ้ฝๅฝๅๅฏบๅธ่ฅฟๆใฑ็ชช********** | S13002 | 20160410 | C-20100127-8 |
9 | CS001615000372 | ็จฒๅฃ ๅฏฟใ ่ฑ | 1 | ๅฅณๆง | 1956-10-29 | 62 | 144-0035 | ๆฑไบฌ้ฝๅคง็ฐๅบๅ่ฒ็ฐ********** | S13001 | 20170403 | A-20100104-1 |
10 | CS032512000121 | ๆพไบ ็ฅไธ | 1 | ๅฅณๆง | 1962-09-04 | 56 | 210-0011 | ็ฅๅฅๅท็ๅทๅดๅธๅทๅดๅบๅฏๅฃซ่ฆ********** | S13032 | 20150727 | A-20100103-5 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_customer๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ๋๋ค.
df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>%: dplyr์ ํ์ดํ ์ฐ์ฐ์๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(grepl("^[A-F]. *[1-9]$", status_cd)): status_cd ์ด์ด A, B, C, D, E, F ์ค ํ๋์ ๋ฌธ์๋ก ์์ํ๊ณ 1-9์ ์ซ์๋ก ๋๋๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ ํจ์๋ก, grepl() ํจ์๋ ์ ๊ท์ "^[A-F]. [1-9]$"๊ฐ status_cd ์ด์ ๊ฐ ์์์ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐํํ๋ค. ์ ๊ท ํํ์ "^[A-F]. [1-9]$"๋ ๋ฌธ์ A, B, C, D, E, F๋ก ์์ํ๊ณ 0 ์ด์์ ์์์ ์ ํ์ด ์ด์ด์ง๋ฉฐ 1๋ถํฐ 9๊น์ง์ ์ซ์๋ก ๋๋๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ค.
head(. , n = 10): ์ด๊ฒ์ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10 ์ค์ ์ ํํฉ๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ status_cd ์ด์ด A, B, C, D, D, E ๋๋ F ๋ฌธ์๋ก ์์ํ๊ณ 1-9 ์ซ์๋ก ๋๋๋ ํ๋ง ํฌํจํ๋๋ก ํํฐ๋งํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๋ค. ํ๊ฒ ๋ฉ๋๋ค.
R-016: ๋งค์ฅ ๋ฐ์ดํฐ(df_store)์์ ์ ํ๋ฒํธ(tel_no)๊ฐ 3์๋ฆฌ-3์๋ฆฌ-4์๋ฆฌ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ์ํ๋ผ.
df_store %>% filter(grepl("^[0-9]{3}-[0-9]{3}-[0-9]{4}$", tel_no))
store_cd | store_name | prefecture_cd | prefecture | address | address_kana | tel_no | longitude | latitude | floor_area |
---|---|---|---|---|---|---|---|---|---|
<chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <chr> | <dbl> | <dbl> | <dbl> |
S12014 | ๅ่ๅฐๅบ | 12 | ๅ่็ | ๅ่็ๅ่ๅธ็จฒๆฏๅบๅ่ๅฐไธไธ็ฎ | ใใใฑใณใใใทใคใใฒใฏใใฐใตใใคใคใใใงใฆใก | 043-123-4003 | 140.1180 | 35.63559 | 1698 |
S13002 | ๅฝๅๅฏบๅบ | 13 | ๆฑไบฌ้ฝ | ๆฑไบฌ้ฝๅฝๅๅฏบๅธๆฌๅคไบไธ็ฎ | ใใฆใญใงใฆใใณใฏใใณใธใทใใณใใใใงใฆใก | 042-123-4008 | 139.4802 | 35.70566 | 1735 |
S14010 | ่ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบ่ๅไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใญใฏใใคใใใงใฆใก | 045-123-4032 | 139.6326 | 35.50049 | 1732 |
S14033 | ้ฟไน ๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4043 | 139.4961 | 35.45918 | 1495 |
S14036 | ็ธๆจกๅไธญๅคฎๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็็ธๆจกๅๅธไธญๅคฎไบไธ็ฎ | ใซใใฌใฏใฑใณใตใฌใใใฉใทใใฅใฆใชใฆใใใงใฆใก | 042-123-4045 | 139.3716 | 35.57327 | 1679 |
S14040 | ้ทๆดฅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ทๅบ้ทๆดฅ็ฐใฟใชใฟๅฐไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใใชใฏใใฌใใฟใใใใใคใดใใงใฆใก | 045-123-4046 | 139.4994 | 35.52398 | 1548 |
S14050 | ้ฟไน ๅ่ฅฟๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบ้ฟไน ๅ่ฅฟไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใขใฏใฏใใทใคใใใงใฆใก | 045-123-4053 | 139.4961 | 35.45918 | 1830 |
S13052 | ๆฃฎ้ๅบ | 13 | ๆฑไบฌ้ฝ | ๆฑไบฌ้ฝ็บ็ฐๅธๆฃฎ้ไธไธ็ฎ | ใใฆใญใงใฆใใใใใทใขใชใใตใณใใงใฆใก | 042-123-4030 | 139.4383 | 35.55293 | 1087 |
S14028 | ไบใๆฉๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ็ฌ่ฐทๅบไบใๆฉ็บ | ใซใใฌใฏใฑใณใจใณใใใทใปใคใฏใใฟใใใทใใงใฆ | 045-123-4042 | 139.4963 | 35.46304 | 1574 |
S14012 | ๆฌ็งๅ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฌ็งๅ็ฐ | ใซใใฌใฏใฑใณใจใณใใใทใใซใฏใใณใขใฏใฏใ | 045-123-4034 | 139.6582 | 35.42156 | 1341 |
S14046 | ๅๅฑฑ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบๅๅฑฑ็ฐไธไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใญใฟใคใใฟใคใใใงใฆใก | 045-123-4049 | 139.5916 | 35.56189 | 831 |
S14022 | ้ๅญๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็้ๅญๅธ้ๅญไธไธ็ฎ | ใซใใฌใฏใฑใณใบใทใทใบใทใคใใใงใฆใก | 046-123-4036 | 139.5789 | 35.29642 | 1838 |
S14011 | ๆฅๅๆฌ็บๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธๆธฏๅๅบๆฅๅๆฌ็บๅไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใณใฆใใฏใฏใใจใทใใณใใงใฆใจใณใใงใฆใก | 045-123-4033 | 139.6316 | 35.54655 | 890 |
S13016 | ๅฐ้ไบๅบ | 13 | ๆฑไบฌ้ฝ | ๆฑไบฌ้ฝๅฐ้ไบๅธๆฌ็บไธไธ็ฎ | ใใฆใญใงใฆใใณใฌใใคใทใใณใใงใฆใคใใใงใฆใก | 042-123-4015 | 139.5094 | 35.70018 | 1399 |
S14034 | ๅทๅด้ๅทๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅทๅดๅธๅฎฎๅๅบ้ๅท | ใซใใฌใฏใฑใณใซใฏใตใญใทใใคใใจใฏใใฌใฏ | 044-123-4044 | 139.5998 | 35.57693 | 1318 |
S14048 | ไธญๅทไธญๅคฎๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบไธญๅทไธญๅคฎไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใใซใฌใฏใใฅใฆใชใฆใใใงใฆใก | 045-123-4051 | 139.5758 | 35.54912 | 1657 |
S12007 | ไฝๅๅบ | 12 | ๅ่็ | ๅ่็ไฝๅๅธไธๅฟๆดฅ | ใใใฑใณใตใฏใฉใทใซใใทใ | 043-123-4001 | 140.1452 | 35.71872 | 1895 |
S14026 | ่พปๅ ่ฅฟๆตทๅฒธๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็่คๆฒขๅธ่พปๅ ่ฅฟๆตทๅฒธไบไธ็ฎ | ใซใใฌใฏใฑใณใใธใตใฏใทใใธใใฆใใทใซใคใฌใณใใใงใฆใก | 046-123-4040 | 139.4466 | 35.32464 | 1732 |
S13041 | ๅ ซ็ๅญๅบ | 13 | ๆฑไบฌ้ฝ | ๆฑไบฌ้ฝๅ ซ็ๅญๅธๅคงๅก | ใใฆใญใงใฆใใใใชใฆใธใทใชใชใใซ | 042-123-4026 | 139.4235 | 35.63787 | 810 |
S14049 | ๅทๅดๅคงๅธซๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅทๅดๅธๅทๅดๅบไธญ็ฌไธไธ็ฎ | ใซใใฌใฏใฑใณใซใฏใตใญใทใซใฏใตใญใฏใใซใผใตใณใใงใฆใก | 044-123-4052 | 139.7327 | 35.53759 | 962 |
S14023 | ๅทๅดๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅทๅดๅธๅทๅดๅบๆฌ็บไบไธ็ฎ | ใซใใฌใฏใฑใณใซใฏใตใญใทใซใฏใตใญใฏใใณใใงใฆใใใงใฆใก | 044-123-4037 | 139.7028 | 35.53599 | 1804 |
S13018 | ๆธ ็ฌๅบ | 13 | ๆฑไบฌ้ฝ | ๆฑไบฌ้ฝๆธ ็ฌๅธๆพๅฑฑไธไธ็ฎ | ใใฆใญใงใฆใใญใจใปใทใใใคใใคใใใงใฆใก | 042-123-4017 | 139.5178 | 35.76885 | 1220 |
S14027 | ๅ่คๆฒขๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็่คๆฒขๅธๅ่คๆฒข | ใซใใฌใฏใฑใณใใธใตใฏใทใใใใใธใตใฏ | 046-123-4041 | 139.4896 | 35.33762 | 1521 |
S14021 | ไผๅขๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ไผๅขๅๅธไผๅขๅๅไธ็ฎ | ใซใใฌใฏใฑใณใคใปใใฉใทใคใปใใฉใจใณใใงใฆใก | 046-123-4035 | 139.3129 | 35.40169 | 962 |
S14047 | ็ธๆจกๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็็ธๆจกๅๅธๅไปฃ็ฐๅ ญไธ็ฎ | ใซใใฌใฏใฑใณใตใฌใใใฉใทใใจใใญใฏใใงใฆใก | 042-123-4050 | 139.3748 | 35.55959 | 1047 |
S12013 | ็ฟๅฟ้ๅบ | 12 | ๅ่็ | ๅ่็็ฟๅฟ้ๅธ่ๅไธไธ็ฎ | ใใใฑใณใใฉใทใใทใทใใพใใคใใใงใฆใก | 047-123-4002 | 140.0220 | 35.66122 | 808 |
S14042 | ๆฐๅฑฑไธๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฐๅฑฑไธไบไธ็ฎ | ใซใใฌใฏใฑใณใจใณใใใทใใซใฏใทใณใคใใทใฟใใใงใฆใก | 045-123-4047 | 139.6593 | 35.43894 | 1044 |
S12030 | ๅ ซๅนกๅบ | 12 | ๅ่็ | ๅ่็ๅธๅทๅธๅ ซๅนกไธไธ็ฎ | ใใใฑใณใคใใซใฏใทใคใฏใฟใตใณใใงใฆใก | 047-123-4005 | 139.9240 | 35.72318 | 1162 |
S14025 | ๅคงๅๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅคงๅๅธไธๅ็ฐ | ใซใใฌใฏใฑใณใคใใใทใทใขใฏใ | 046-123-4039 | 139.4680 | 35.43414 | 1011 |
S14045 | ๅๆจๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅๆจๅธไธญ็บไบไธ็ฎ | ใซใใฌใฏใฑใณใขใใฎใทใใซใใงใฆใใใงใฆใก | 046-123-4048 | 139.3651 | 35.44182 | 980 |
S12029 | ๆฑ้ๅบ | 12 | ๅ่็ | ๅ่็ๆตฆๅฎๅธๆฑ้ไธไธ็ฎ | ใใใฑใณใฆใฉใคในใทใใฌใทใใคใใใงใฆใก | 047-123-4004 | 139.8968 | 35.65086 | 1101 |
S12053 | ้ซๆดฒๅบ | 12 | ๅ่็ | ๅ่็ๆตฆๅฎๅธ้ซๆดฒไบไธ็ฎ | ใใใฑใณใฆใฉใคในใทใฟใซในใดใใงใฆใก | 047-123-4006 | 139.9176 | 35.63755 | 1555 |
S14024 | ไธ็ฐๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๅทๅดๅธๅคๆฉๅบไธ็ฐๅไธ็ฎ | ใซใใฌใฏใฑใณใซใฏใตใญใทใฟใใฏใใฟใจใณใใงใฆใก | 044-123-4038 | 139.5424 | 35.60770 | 972 |
S14006 | ่ใ่ฐทๅบ | 14 | ็ฅๅฅๅท็ | ็ฅๅฅๅท็ๆจชๆตๅธ้ฝ็ญๅบ่ใ่ฐท | ใซใใฌใฏใฑใณใจใณใใใทใใ ใญใฏใฏใบใฌใค | 045-123-4031 | 139.5633 | 35.53573 | 1886 |
์ค๋ช :
์ด ์ฝ๋๋ R์ dplyr ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ df_store๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์กฐ์ํ๊ณ ์์ต๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์ค๋ช ํฉ๋๋ค.
df_store : ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
%>% : dplyr์ ํ์ดํ ์ฐ์ฐ์์ด๋ฉฐ, ์ฌ๋ฌ ๋ฐ์ดํฐ ์กฐ์ ํจ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
filter(grepl("^[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$", tel_no)): tel_no ์ด์ด ํน์ ์ ํ๋ฒํธ ํ์๊ณผ ์ผ์นํ๋ ํ๋ง ํฌํจํ๋๋ก ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ๋ ํจ์์ ๋๋ค. -9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$"๊ฐ tel_no ์ด์ ๊ฐ ์์์ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ ๋ฒกํฐ๋ฅผ ๋ฐํํ๋ค. ์ ๊ท์ "^[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$"๋ 3์๋ฆฌ, ํ์ดํ, 3์๋ฆฌ, ํ์ดํ, ๋ง์ง๋ง์ผ๋ก 4์๋ฆฌ๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ค.
head(.) : ์ด๊ฒ์ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 6์ค์ ์ ํํ๊ณ ์๋ค.
์ฆ, ์ด ์ฝ๋๋ df_store ๋ฐ์ดํฐ ํ๋ ์์ ํํฐ๋งํ์ฌ tel_no ์ด์ด ํน์ ์ ํ ๋ฒํธ ํ์๊ณผ ์ผ์นํ๋ ํ๋ง ํฌํจํ๋๋ก ํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒซ ๋ฒ์งธ 6ํ๋ง ์ ํํ๋ค.
R-017: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)๋ฅผ ์๋ ์์ผ(birth_day)์ ๊ธฐ์ค์ผ๋ก ๋์ด์์ผ๋ก ์ ๋ ฌํ๊ณ , ๋งจ ์๋ถํฐ 10๊ฐ์ ํญ๋ชฉ์ ๋ชจ๋ ํ์ํ๋ผ.
head( df_customer[order(df_customer$birth_day), ], n = 10 )
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
18818 | CS003813000014 | ๆๅฑฑ ่ใ ็พ | 1 | ๅฅณๆง | 1928-11-26 | 90 | 182-0007 | ๆฑไบฌ้ฝ่ชฟๅธๅธ่้ๅฐ********** | S13003 | 20160214 | 0-00000000-0 |
12329 | CS026813000004 | ๅๆ ๆ้ฝ | 1 | ๅฅณๆง | 1928-12-14 | 90 | 251-0043 | ็ฅๅฅๅท็่คๆฒขๅธ่พปๅ ๅ ็บ********** | S14026 | 20150723 | 0-00000000-0 |
15683 | CS018811000003 | ็ๆฒข ็พ้ | 1 | ๅฅณๆง | 1929-01-07 | 90 | 204-0004 | ๆฑไบฌ้ฝๆธ ็ฌๅธ้ๅกฉ********** | S13018 | 20150403 | 0-00000000-0 |
15303 | CS027803000004 | ๅ ๆ ๆ้ | 0 | ็ทๆง | 1929-01-12 | 90 | 251-0031 | ็ฅๅฅๅท็่คๆฒขๅธ้ต ๆฒผ่คใ่ฐท********** | S14027 | 20151227 | 0-00000000-0 |
1682 | CS013801000003 | ๅคฉ้ ๆ้ | 0 | ็ทๆง | 1929-01-15 | 90 | 274-0824 | ๅ่็่นๆฉๅธๅๅๆฑ********** | S12013 | 20160120 | 0-00000000-0 |
7512 | CS001814000022 | ้ถด็ฐ ้็ฉ | 1 | ๅฅณๆง | 1929-01-28 | 90 | 144-0045 | ๆฑไบฌ้ฝๅคง็ฐๅบๅๅ ญ้ท********** | S13001 | 20161012 | A-20090415-7 |
2379 | CS016815000002 | ๅฑฑๅ ็พ็ด | 1 | ๅฅณๆง | 1929-02-22 | 90 | 184-0005 | ๆฑไบฌ้ฝๅฐ้ไบๅธๆก็บ********** | S13016 | 20150629 | C-20090923-C |
4681 | CS009815000003 | ไธญ็ฐ ้็ฉ | 1 | ๅฅณๆง | 1929-04-08 | 89 | 154-0014 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบๆฐ็บ********** | S13009 | 20150421 | D-20091021-E |
6306 | CS012813000013 | ๅฎ้ ๅๆ | 1 | ๅฅณๆง | 1929-04-09 | 89 | 231-0806 | ็ฅๅฅๅท็ๆจชๆตๅธไธญๅบๆฌ็ง็บ********** | S14012 | 20150712 | 0-00000000-0 |
16071 | CS005813000015 | ้่ฐท ๆตๆขจ้ฆ | 1 | ๅฅณๆง | 1929-04-09 | 89 | 165-0032 | ๆฑไบฌ้ฝไธญ้ๅบ้ทบๅฎฎ********** | S13005 | 20150506 | 0-00000000-0 |
์ค๋ช :
์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ birth_day ์ด๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํฉ๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์๊ฐํฉ๋๋ค.
df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
[order(df_customer$birth_day),] : df_customer ๋ฐ์ดํฐ ํ๋ ์์ ์๋ธ์ ํ์ฌ ๋ชจ๋ ์ด์ ํฌํจํ๋๋ก ํ๊ณ , birth_day ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ํ์ ์ ๋ ฌํฉ๋๋ค. order() ํจ์๋ birth_day ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ์ธ๋ฑ์ค ๋ฒกํฐ๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ์ธ๋ฑ์ค๋ฅผ ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์ฐ์ฐ์๋ก ์ ์ฉํ๋ฉด ๋ฐ์ดํฐ ํ๋ ์์ ์์ผ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
head(. , n = 10): head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ birth_day ์ด๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒซ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์๋ ๊ฒ์ด๋ค. ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์์ ๊ฐ์ฅ ์ค๋๋ ๊ณ ๊ฐ์ ๋น ๋ฅด๊ฒ ํ์ธํ๊ณ ์ถ์ ๋ ์ ์ฉํ๋ค.
R-018: ๊ณ ๊ฐ ๋ฐ์ดํฐ(df_customer)๋ฅผ ์๋ ์์ผ(birth_day)์ ๊ธฐ์ค์ผ๋ก ์ ์ ์์๋ก ์ ๋ ฌํ๊ณ , ๋งจ ์๋ถํฐ 10๊ฐ์ ํญ๋ชฉ์ ๋ชจ๋ ํ์ํ๋ผ.
head( df_customer[order(df_customer$birth_day, decreasing = TRUE), ], n = 10 )
ย | customer_id | customer_name | gender_cd | gender | birth_day | age | postal_cd | address | application_store_cd | application_date | status_cd |
---|---|---|---|---|---|---|---|---|---|---|---|
ย | <chr> | <chr> | <chr> | <chr> | <date> | <int> | <chr> | <chr> | <chr> | <chr> | <chr> |
15640 | CS035114000004 | ๅคงๆ ็พ้ | 1 | ๅฅณๆง | 2007-11-25 | 11 | 156-0053 | ๆฑไบฌ้ฝไธ็ฐ่ฐทๅบๆก********** | S13035 | 20150619 | 6-20091205-6 |
7469 | CS022103000002 | ็ฆๅฑฑ ใฏใใ | 9 | ไธๆ | 2007-10-02 | 11 | 249-0006 | ็ฅๅฅๅท็้ๅญๅธ้ๅญ********** | S14022 | 20160909 | 0-00000000-0 |
10746 | CS002113000009 | ๆด็ฐ ็ๆ ๅญ | 1 | ๅฅณๆง | 2007-09-17 | 11 | 184-0014 | ๆฑไบฌ้ฝๅฐ้ไบๅธ่ฒซไบๅ็บ********** | S13002 | 20160304 | 0-00000000-0 |
19812 | CS004115000014 | ๆพไบ ไบฌๅญ | 1 | ๅฅณๆง | 2007-08-09 | 11 | 165-0031 | ๆฑไบฌ้ฝไธญ้ๅบไธ้ทบๅฎฎ********** | S13004 | 20161120 | 1-20081231-1 |
7040 | CS002114000010 | ๅฑฑๅ ้ฅ | 1 | ๅฅณๆง | 2007-06-03 | 11 | 184-0015 | ๆฑไบฌ้ฝๅฐ้ไบๅธ่ฒซไบๅ็บ********** | S13002 | 20160920 | 6-20100510-1 |
3671 | CS025115000002 | ๅฐๆณ ๅคๅธ | 1 | ๅฅณๆง | 2007-04-18 | 11 | 245-0018 | ็ฅๅฅๅท็ๆจชๆตๅธๆณๅบไธ้ฃฏ็ฐ็บ********** | S14025 | 20160116 | D-20100913-D |
12494 | CS002113000025 | ๅบๆซ ใพใชใฟ | 1 | ๅฅณๆง | 2007-03-30 | 12 | 184-0015 | ๆฑไบฌ้ฝๅฐ้ไบๅธ่ฒซไบๅ็บ********** | S13002 | 20171030 | 0-00000000-0 |
15978 | CS033112000003 | ้ท้ ็พ็ด | 1 | ๅฅณๆง | 2007-03-22 | 12 | 245-0051 | ็ฅๅฅๅท็ๆจชๆตๅธๆธๅกๅบๅ็ฌ็บ********** | S14033 | 20150606 | 0-00000000-0 |
5717 | CS007115000006 | ็ฆๅฒก ็ฌ | 1 | ๅฅณๆง | 2007-03-10 | 12 | 285-0845 | ๅ่็ไฝๅๅธ่ฅฟๅฟๆดฅ********** | S12007 | 20151118 | F-20101016-F |
15098 | CS014113000008 | ็ขๅฃ ่็ท | 1 | ๅฅณๆง | 2007-03-05 | 12 | 260-0041 | ๅ่็ๅ่ๅธไธญๅคฎๅบๆฑๅ่********** | S12014 | 20150622 | 3-20091108-6 |
์ค๋ช :
์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ birth_day ์ด๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํฉ๋๋ค. ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์๊ฐํฉ๋๋ค.
df_customer: ์ฌ์ฉ ์ค์ธ ๋ฐ์ดํฐ ํ๋ ์์ ๋๋ค.
[order(df_customer$birth_day, decreasing = TRUE), ]: df_customer ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์งํฉํํ์ฌ ๋ชจ๋ ์ด์ ํฌํจํ๋, birth_day ์ด์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ํ์ ์ ๋ ฌํ๊ณ ์์ต๋๋ค. ๋ ๊ธฐ๋ณธ์ ์ผ๋ก birth_day ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ์ธ๋ฑ์ค ๋ฒกํฐ๋ฅผ ๋ฐํํ์ง๋ง, decreasing = TRUE๋ฅผ ์ค์ ํ์ฌ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค. ์ด ์ธ๋ฑ์ค๋ฅผ ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์ฐ์ฐ์๋ก ์ ์ฉํ๋ฉด ๋ฐ์ดํฐ ํ๋ ์์ birth_day ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
head(. , n = 10): head() : ์์ฑ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๋ ๋ถ๋ถ์ด๋ค.
์ฆ, ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์ birth_day ์ด๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , head() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒซ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์๋ ๊ฒ์ด๋ค. ์ด ์ฝ๋๋ df_customer ๋ฐ์ดํฐ ํ๋ ์์์ ๊ฐ์ฅ ์ด๋ฆฐ ๊ณ ๊ฐ์ ๋น ๋ฅด๊ฒ ํ์ธํ๊ณ ์ถ์ ๋ ์ ์ฉํฉ๋๋ค.
R-019: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์ ๋ํด ๊ฑด๋น ๋งค์ถ ๊ธ์ก(amount)์ด ๋์ ์์๋๋ก ์์๋ฅผ ๋ถ์ฌํ๊ณ , ๋งจ ์๋ถํฐ 10๊ฑด์ฉ ํ์ํ๋ค. ํญ๋ชฉ์ ๊ณ ๊ฐ ID(customer_id), ๋งค์ถ ๊ธ์ก(amount), ๋ถ์ฌํ ๋ญํฌ๋ฅผ ํ์ํ๋๋ก ํ๋ค. ๋จ, ๋งค์ถ์ก(amount)์ด ๋์ผํ ๊ฒฝ์ฐ ๋์ผํ ์์๋ฅผ ๋ถ์ฌํ๋ค.
df_receipt[c("customer_id", "amount")] %>% mutate(ranking = min_rank(desc(amount))) %>% arrange(ranking) %>% slice(1:10)
customer_id | amount | ranking |
---|---|---|
<chr> | <int> | <int> |
CS011415000006 | 10925 | 1 |
ZZ000000000000 | 6800 | 2 |
CS028605000002 | 5780 | 3 |
CS015515000034 | 5480 | 4 |
ZZ000000000000 | 5480 | 4 |
ZZ000000000000 | 5480 | 4 |
ZZ000000000000 | 5440 | 7 |
CS021515000089 | 5440 | 7 |
CS015515000083 | 5280 | 9 |
CS017414000114 | 5280 | 9 |
์ค๋ช :
์ด ์ฝ๋๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์์ customer_id์ amount๋ผ๋ ์ด์ ์ ํํ๊ณ , ranking์ด๋ผ๋ ์๋ก์ด ์ด์ ์ถ๊ฐํ์ฌ ๊ฑฐ๋ ๊ธ์ก์ ๋ฐ๋ฅธ ๊ฐ ๊ณ ๊ฐ์ ์์๋ฅผ ํ์ํฉ๋๋ค(๊ฐ์ฅ ๋์ ๊ธ์ก์ 1์์๋ก ์ค์ ). ์๋๋ ์ฝ๋์ ๋ด์ฉ์ ์๊ฐํฉ๋๋ค.
df_receipt[c("customer_id", "amount")]: df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ์๋ธ์ ํ์ฌ customer_id์ amount ์ปฌ๋ผ๋ง ํฌํจํ๋๋ก ํ ๊ฒ์ด๋ค.
%>%: ์ด์ ์ฐ์ฐ์ ์ถ๋ ฅ์ ๋ค์ ์ฐ์ฐ์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌํ๋ ํ์ดํ ์ฐ์ฐ์์ด๋ค.
mutate(ranking = min_rank(desc(amount))): ๋ฐ์ดํฐ ํ๋ ์์ ranking์ด๋ผ๋ ์๋ก์ด ์ปฌ๋ผ์ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก, ๊ฑฐ๋ ๊ธ์ก์ ๋ฐ๋ฅธ ๊ฐ ๊ณ ๊ฐ์ ์์๋ฅผ ๋ํ๋ ๋๋ค. ์์๋ฅผ ๊ณ์ฐํ๊ณ , ๋์ ์ ์์๋ก ํด์ํ๋ค. ์ด ํจ์๋ฅผ ๋ง์ด๋์ค(desc() ํจ์)๋ฅผ ์ทจํ ํ ๊ธ์ก ์ด์ ๋ํด ๊ฐ์ฅ ๋์ ๊ฐ์ ์์๊ฐ 1์ด ๋๋๋ก ์ ์ฉํ๋ฉด ๊ฑฐ๋ ๊ธ์ก์ ๋ฐ๋ฅธ ๊ณ ๊ฐ ์์๋ฅผ ์ป์ ์ ์๋ค.
arrange(ranking) : ๋ฐ์ดํฐ ํ๋ ์์ ๋ญํน ์ด์์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
slice(1:10) : slice() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค.
์ฆ, ์ด ์ฝ๋๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์์ customer_id์ amount ์ด์ ์ ํํ๊ณ , ranking์ด๋ผ๋ ์๋ก์ด ์ด์ ์ถ๊ฐํ์ฌ ๊ฑฐ๋ ๊ธ์ก์ ๋ฐ๋ฅธ ๊ฐ ๊ณ ๊ฐ์ ์์๋ฅผ ํ์ํ๊ณ , ranking ์ด์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ ํ๋ ์์ ์ ๋ ฌํ๊ณ , ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์ ์์ 10๊ฐ์ ํ์ ์ ํํ๊ณ ์์ต๋๋ค. ์ด ์ฝ๋๋ df_receipt ๋ฐ์ดํฐ ํ๋ ์์ ๊ฑฐ๋ ๊ธ์ก๋ณ ์์ 10๋ช ์ ๊ณ ๊ฐ์ ๋น ๋ฅด๊ฒ ํ์ธํ๊ณ ์ถ์ ๋ ์ ์ฉํฉ๋๋ค.
R-020: ์์์ฆ ๋ด์ญ ๋ฐ์ดํฐ(df_receipt)์ ๋ํด ๊ฑด๋น ๋งค์ถ ๊ธ์ก(amount)์ด ๋์ ์์๋๋ก ์์๋ฅผ ๋ถ์ฌํ๊ณ , ๋งจ ์๋ถํฐ 10๊ฑด์ฉ ํ์ํ๋ค. ํญ๋ชฉ์ ๊ณ ๊ฐ ID(customer_id), ๋งค์ถ ๊ธ์ก(amount), ๋ถ์ฌํ ์์๋ฅผ ํ์ํ๋ค. ๋จ, ๋งค์ถ๊ธ์ก(amount)์ด ๋์ผํ ๊ฒฝ์ฐ์๋ ๋ณ๋์ ์์๋ฅผ ๋ถ์ฌํด์ผ ํ๋ค.
df_receipt[c("customer_id", "amount")] %>% mutate(ranking = row_number(desc(amount))) %>% arrange(ranking) %>% slice(1:10)
customer_id | amount | ranking |
---|---|---|
<chr> | <int> | <int> |
CS011415000006 | 10925 | 1 |
ZZ000000000000 | 6800 | 2 |
CS028605000002 | 5780 | 3 |
CS015515000034 | 5480 | 4 |
ZZ000000000000 | 5480 | 5 |
ZZ000000000000 | 5480 | 6 |
ZZ000000000000 | 5440 | 7 |
CS021515000089 | 5440 | 8 |
CS015515000083 | 5280 | 9 |
CS017414000114 | 5280 | 10 |
์ค๋ช :
์ด ์ฝ๋๋ "customer_id"์ "amount" ์ด์ ํฌํจํ๋ df_receipt๋ผ๋ ๋ฐ์ดํฐ ํ๋ ์์ ๋ํด ์ผ๋ จ์ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค.
๋ค์์ ์ด ์ฝ๋๊ฐ ์ํํ๋ ์์ ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค.
df_receipt[c("customer_id", "amount")] : df_receipt ๋ฐ์ดํฐ ํ๋ ์์์ "customer_id"์ "amount" ์ปฌ๋ผ๋ง ์ ํํฉ๋๋ค. ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ๋ ์์๋ ์ด ๋ ์ปฌ๋ผ๋ง ํฌํจ๋ฉ๋๋ค.
%>%: R์ ํ์ดํ ์ฐ์ฐ์๋ก, ๋ฐ์ดํฐ ํ๋ ์์ ๋ํ ์ฌ๋ฌ ์ฐ์ฐ์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ํ ์ฐ์ฐ์ ์ถ๋ ฅ์ ๋ค์ ์ฐ์ฐ์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋๋ค.
mutate(ranking = row_number(desc(amount))): mutate ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ํ๋ ์์ "ranking"์ด๋ผ๋ ์๋ก์ด ์ด์ ์์ฑํ๊ณ , "ranking" ์ด์ "amount" ์ด์ ๊ธฐ์ค์ผ๋ก "amount"์ ๊ฐ์ฅ ๋์ ๊ฐ์ "1", ๋ ๋ฒ์งธ๋ก ๋์ ๊ฐ์ "2"๋ก ์ค์ ํ๋ค. ์ ๊ฐ์ฅ ๋์ ๊ฐ์ "2", ๋ ๋ฒ์งธ๋ก ๋์ ๊ฐ์ "2"๋ก ์์๋ฅผ ๋งค๊ธฐ๊ณ , desc ํจ์๋ "amount" ์ปฌ๋ผ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
arrange(ranking) : ๋ฐ์ดํฐ ํ๋ ์์ "ranking" ์ปฌ๋ผ์์ ์ค๋ฆ์ฐจ์(1~n)์ผ๋ก ์ ๋ ฌํ๋ค.
slice(1:10) : ์ ๋ ฌ๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ์ 10๊ฐ์ ํ์ ์ ํํ๋ค(์ฆ, "amount" ๊ฐ๊ณผ ํด๋น "customer_id" ๊ฐ์ด ๊ฐ์ฅ ํฐ 10๊ฐ์ ํ์ ์ ํํ๋ค). slice ํจ์๋ ๋ฐ์ดํฐ ํ๋ ์์์ ํ์ ๋ถ๋ถ ์งํฉ์ผ๋ก ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์์ฝํ๋ฉด, ์ด ์ฝ๋๋ ๋ฐ์ดํฐ ํ๋ ์์์ "customer_id"์ "amount"์ด์ ์ ํํ๊ณ , "amount"๊ฐ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์์๋ฅผ ๋งค๊ธฐ๊ณ , ์์์ ๋ฐ๋ผ ๋ฐ์ดํฐ ํ๋ ์์ ์ ๋ ฌํ๊ณ , ์์ 10๊ฐ์ ํ(์ฆ, "amount"๊ฐ์ด ๊ฐ์ฅ ๋์ 10๋ช ์ ๊ณ ๊ฐ)์ ์ ํํ๋ค.
ย
Comment