這份作業希望能夠讓你練習:
%>%
)題目大部分都要求印出 tibble/dataframe,若你的資料是 tibble,直接印出即可,若是 dataframe,請印出前三列即可。
滿分共 100 分。
本題目利用內政部統計處的社會經濟資料服務平台所提供的資料,該平台有大量台灣的地理圖資與人口變數,之後找題目可以參考。我們使用的是 109 年第 4 季各縣市的結婚統計。
data 資料夾 -> Lab04 資料夾 -> 109Q4_county_marriage.csv
,並取名為 df_109Q4_county_marriage
。檔案讀進來後可能有亂碼,請任選課堂提到的亂碼處理方式(讀取前修改編碼、讀取設定參數、讀進後修改編碼),將檔案以正確編碼印出。若你是讀取前修改編碼,請用文字說明步驟,若你是設定參數或修改編碼,請在程式碼中用註解(#
)說明你在做什麼!### your code
library(tidyverse)
<- read_csv("data/Lab04/109Q4_county_marriage.csv")
df_109Q4_county_marriage # one by one 編碼轉換
%>% mutate(COUNTY_ID = iconv(COUNTY_ID, from = "BIG5", to = "UTF8"),
df_109Q4_county_marriage COUNTY = iconv(COUNTY, from = "BIG5", to = "UTF8"),
MARRY_CP_CNT = iconv(MARRY_CP_CNT, from = "BIG5", to = "UTF8"),
MARRY_CNT = iconv(MARRY_CNT, from = "BIG5", to = "UTF8"),
MARRY_M_CNT = iconv(MARRY_M_CNT, from = "BIG5", to = "UTF8"),
MARRY_F_CNT = iconv(MARRY_F_CNT, from = "BIG5", to = "UTF8"),
INFO_TIME = iconv(INFO_TIME, from = "BIG5", to = "UTF8"))
# all in one 編碼轉換
%>% mutate(across(where(is.character), ~iconv(.,from = "BIG5", to = "UTF8"))) df_109Q4_county_marriage
#> # A tibble: 23 x 7
#> COUNTY_ID COUNTY MARRY_CP_CNT MARRY_CNT MARRY_M_CNT MARRY_F_CNT INFO_TIME
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 縣市代碼 縣市名稱… 結婚對數 結婚登記中外(含大… 結婚登記中外(含大陸港… 結婚登記中外(含大陸港… 資料時間
#> 2 65000 新北市 6529 580 189 391 109Y4S
#> 3 63000 臺北市 3856 422 207 215 109Y4S
#> 4 68000 桃園市 3986 370 107 263 109Y4S
#> 5 66000 臺中市 4837 381 130 251 109Y4S
#> 6 67000 臺南市 2706 185 57 128 109Y4S
#> 7 64000 高雄市 4139 343 112 231 109Y4S
#> 8 10002 宜蘭縣 725 62 11 51 109Y4S
#> 9 10004 新竹縣 1003 71 13 58 109Y4S
#> 10 10005 苗栗縣 859 75 19 56 109Y4S
#> # … with 13 more rows
#> # A tibble: 23 x 7
#> COUNTY_ID COUNTY MARRY_CP_CNT MARRY_CNT MARRY_M_CNT MARRY_F_CNT INFO_TIME
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 縣市代碼 縣市名稱… 結婚對數 結婚登記中外(含大… 結婚登記中外(含大陸港… 結婚登記中外(含大陸港… 資料時間
#> 2 65000 新北市 6529 580 189 391 109Y4S
#> 3 63000 臺北市 3856 422 207 215 109Y4S
#> 4 68000 桃園市 3986 370 107 263 109Y4S
#> 5 66000 臺中市 4837 381 130 251 109Y4S
#> 6 67000 臺南市 2706 185 57 128 109Y4S
#> 7 64000 高雄市 4139 343 112 231 109Y4S
#> 8 10002 宜蘭縣 725 62 11 51 109Y4S
#> 9 10004 新竹縣 1003 71 13 58 109Y4S
#> 10 10005 苗栗縣 859 75 19 56 109Y4S
#> # … with 13 more rows
slice()
and mutate()
:這份資料有七個 column,而且第一列是中文欄位名稱。承上題,請先修改編碼,又因為後續計算需要將幾個欄位轉成數值,所以請將第一列踢掉,接著將結婚對數
, 結婚登記中外聯姻人數
, 結婚登記中外聯姻男性人數
, 結婚登記中外聯姻女性人數
從 character
變成 integer
,最後將結果儲存在 df_109Q4_county_marriage_clean
,並印出 df_109Q4_county_marriage_clean
(欄位名稱是英文的沒錯)### your code
# one by one
<- df_109Q4_county_marriage %>%
df_109Q4_county_marriage_clean mutate(COUNTY_ID = iconv(COUNTY_ID, from = "BIG5", to = "UTF8"),
COUNTY = iconv(COUNTY, from = "BIG5", to = "UTF8"),
MARRY_CP_CNT = iconv(MARRY_CP_CNT, from = "BIG5", to = "UTF8"),
MARRY_CNT = iconv(MARRY_CNT, from = "BIG5", to = "UTF8"),
MARRY_M_CNT = iconv(MARRY_M_CNT, from = "BIG5", to = "UTF8"),
MARRY_F_CNT = iconv(MARRY_F_CNT, from = "BIG5", to = "UTF8"),
INFO_TIME = iconv(INFO_TIME, from = "BIG5", to = "UTF8")) %>%
slice(-1) %>% mutate(MARRY_CP_CNT = as.integer(MARRY_CP_CNT),
MARRY_CNT = as.integer(MARRY_CNT),
MARRY_M_CNT = as.integer(MARRY_M_CNT),
MARRY_F_CNT = as.integer(MARRY_F_CNT))
# all in once
<- df_109Q4_county_marriage %>%
df_109Q4_county_marriage_clean mutate(across(where(is.character), ~iconv(.,from = "BIG5", to = "UTF8"))) %>%
slice(-1) %>% mutate(across(matches("MARRY"), ~as.integer(.)))
df_109Q4_county_marriage_clean
#> # A tibble: 22 x 7
#> COUNTY_ID COUNTY MARRY_CP_CNT MARRY_CNT MARRY_M_CNT MARRY_F_CNT INFO_TIME
#> <chr> <chr> <int> <int> <int> <int> <chr>
#> 1 65000 新北市 6529 580 189 391 109Y4S
#> 2 63000 臺北市 3856 422 207 215 109Y4S
#> 3 68000 桃園市 3986 370 107 263 109Y4S
#> 4 66000 臺中市 4837 381 130 251 109Y4S
#> 5 67000 臺南市 2706 185 57 128 109Y4S
#> 6 64000 高雄市 4139 343 112 231 109Y4S
#> 7 10002 宜蘭縣 725 62 11 51 109Y4S
#> 8 10004 新竹縣 1003 71 13 58 109Y4S
#> 9 10005 苗栗縣 859 75 19 56 109Y4S
#> 10 10007 彰化縣 1882 161 32 129 109Y4S
#> # … with 12 more rows
arrange()
and slice()
:請利用 df_109Q4_county_marriage_clean
,篩選出 109 Q4 結婚對數最多的縣市,最後給我縣市代碼、縣市名稱、結婚對數的 tibble/dataframe### your code
# using arrange() and row_number()
%>%
df_109Q4_county_marriage_clean arrange(desc(MARRY_CP_CNT)) %>%
filter(row_number() == 1) %>%
select(COUNTY_ID, COUNTY, MARRY_CP_CNT)
# using arrange() and slice()
%>%
df_109Q4_county_marriage_clean arrange(desc(MARRY_CP_CNT)) %>%
slice(1) %>%
select(COUNTY_ID, COUNTY, MARRY_CP_CNT)
# using slice_max()
%>%
df_109Q4_county_marriage_clean slice_max(MARRY_CP_CNT, n = 1) %>%
select(COUNTY_ID, COUNTY, MARRY_CP_CNT)
# using top_n()
%>%
df_109Q4_county_marriage_clean top_n(MARRY_CP_CNT, n = 1) %>%
select(COUNTY_ID, COUNTY, MARRY_CP_CNT)
#> # A tibble: 1 x 3
#> COUNTY_ID COUNTY MARRY_CP_CNT
#> <chr> <chr> <int>
#> 1 65000 新北市 6529
#> # A tibble: 1 x 3
#> COUNTY_ID COUNTY MARRY_CP_CNT
#> <chr> <chr> <int>
#> 1 65000 新北市 6529
#> # A tibble: 1 x 3
#> COUNTY_ID COUNTY MARRY_CP_CNT
#> <chr> <chr> <int>
#> 1 65000 新北市 6529
#> # A tibble: 1 x 3
#> COUNTY_ID COUNTY MARRY_CP_CNT
#> <chr> <chr> <int>
#> 1 65000 新北市 6529
filer()
and arrange()
:請利用 df_109Q4_county_marriage_clean
,先篩選出台灣六都,接著按照結婚對數由大到小排列,最後給我包含所有欄位的 tibble/dataframe### your code
# using %in%
%>%
df_109Q4_county_marriage_clean filter(COUNTY %in% c("臺北市", "新北市", "桃園市", "臺中市", "臺南市", "高雄市")) %>%
arrange(desc(MARRY_CP_CNT))
# using str_detect()
%>%
df_109Q4_county_marriage_clean filter(str_detect(COUNTY, "北市|中市|桃園|高雄|南市")) %>%
arrange(desc(MARRY_CP_CNT))
#> # A tibble: 6 x 7
#> COUNTY_ID COUNTY MARRY_CP_CNT MARRY_CNT MARRY_M_CNT MARRY_F_CNT INFO_TIME
#> <chr> <chr> <int> <int> <int> <int> <chr>
#> 1 65000 新北市 6529 580 189 391 109Y4S
#> 2 66000 臺中市 4837 381 130 251 109Y4S
#> 3 64000 高雄市 4139 343 112 231 109Y4S
#> 4 68000 桃園市 3986 370 107 263 109Y4S
#> 5 63000 臺北市 3856 422 207 215 109Y4S
#> 6 67000 臺南市 2706 185 57 128 109Y4S
#> # A tibble: 6 x 7
#> COUNTY_ID COUNTY MARRY_CP_CNT MARRY_CNT MARRY_M_CNT MARRY_F_CNT INFO_TIME
#> <chr> <chr> <int> <int> <int> <int> <chr>
#> 1 65000 新北市 6529 580 189 391 109Y4S
#> 2 66000 臺中市 4837 381 130 251 109Y4S
#> 3 64000 高雄市 4139 343 112 231 109Y4S
#> 4 68000 桃園市 3986 370 107 263 109Y4S
#> 5 63000 臺北市 3856 422 207 215 109Y4S
#> 6 67000 臺南市 2706 185 57 128 109Y4S
mutate()
and arrange()
and filter()
:請利用 df_109Q4_county_marriage_clean
,先增加一個計算各縣市的結婚登記中外聯姻人數中,女性人數佔比的欄位,接著再增加一個欄位計算女性人數佔比的排名(最高為 1),最後請篩選出聯姻人數女性比例前三高的列,並給我縣市代碼、縣市名稱、結婚登記中外聯姻人數、聯姻女性人數、聯姻女性人數比例、聯姻女性比例排名的 tibble/dataframe提示:你可以查一下row_number()
在做些什麼
### your code
%>%
df_109Q4_county_marriage_clean mutate(MARRY_F_CNT_PER = MARRY_F_CNT/MARRY_CNT) %>%
arrange(desc(MARRY_F_CNT_PER)) %>% mutate(MARRY_F_CNT_RANK = row_number()) %>%
filter(MARRY_F_CNT_RANK %in% c(1:3)) %>%
select(COUNTY_ID, COUNTY, MARRY_CNT, MARRY_F_CNT, MARRY_F_CNT_PER, MARRY_F_CNT_RANK)
#> # A tibble: 3 x 6
#> COUNTY_ID COUNTY MARRY_CNT MARRY_F_CNT MARRY_F_CNT_PER MARRY_F_CNT_RANK
#> <chr> <chr> <int> <int> <dbl> <int>
#> 1 10009 雲林縣 78 70 0.897 1
#> 2 10002 宜蘭縣 62 51 0.823 2
#> 3 10004 新竹縣 71 58 0.817 3
本題目利用台大碩士班考試入學報名人數資料,原始檔案有 PDF 與 Excel,這邊選擇 Excel 檔案,讓你練習讀取 Excel 檔案以及資料操作。
data 資料夾 -> Lab04 資料夾 -> 台大_101學年度碩士班考試招生錄取情況一覽表.xls
,並取名為 df_ntu_exam
,我只想要口試
一直到本校最低門檻的
欄位。另外提醒一下,這個檔案是 .xls,也就是舊版的 excel 檔案,不是現在較常見的 .xlsx 喔!### your code
library(readxl)
<- readxl::read_excel("data/Lab04/台大_101學年度碩士班考試招生錄取情況一覽表.xls", range = "A1:T225")
df_ntu_exam df_ntu_exam
#> # A tibble: 224 x 20
#> 口試 簡章代碼 口試比例 系所別 組別 報考人數 ...7 招生名額 ...9 錄取人數
#> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 <NA> <NA> NA <NA> <NA> 一般 在職 一般 在職 一般
#> 2 <NA> <NA> NA 總計 <NA> 18474 <NA> 1935 <NA> 1908
#> 3 <NA> <NA> NA 合計(全部… <NA> 18372 102 1860 75 1876
#> 4 <NA> <NA> NA 小計(無口… <NA> 11309 26 1251 33 1258
#> 5 <NA> <NA> NA 小計(有口… <NA> 7063 76 609 42 618
#> 6 <NA> 101 NA 中國文學系… <NA> 175 <NA> 17 <NA> 17
#> 7 "●\u00… 102 0.25 外國語文學… <NA> 73 <NA> 10 <NA> 10
#> 8 <NA> 103 NA 歷史學系… <NA> 127 <NA> 18 <NA> 20
#> 9 <NA> 104 NA 哲學系 甲組(主… 6 <NA> 3 <NA> 2
#> 10 <NA> 105 NA 哲學系 乙組(主… 23 <NA> 3 <NA> 3
#> # … with 214 more rows, and 10 more variables: ...11 <chr>, 錄取情況 <chr>,
#> # ...13 <chr>, 錄取最低分數 <chr>, ...15 <chr>, 錄取率 <chr>, ...17 <chr>,
#> # 備取人數 <chr>, ...19 <chr>, 本校最低門檻 <dbl>
select()
:台大考試入學的碩士生分為一般組與在職組,請幫我拿掉在職
相關的欄位。另外,也請幫我拿掉口試
相關的欄位,完成後印出 tibble/dataframe提示:你可以先在 Excel 當中打開原始檔案看長相
### your code
# check columns
%>% glimpse()
df_ntu_exam
# one by one
%>% select(-c(`...7`,`...9`,`...11`,`...13`,`...15`,`...17`,`...19`)) %>%
df_ntu_exam select(-c(`口試`,`口試比例`))
# all in once
%>% select(-c(7,9,11,13,15,17,19)) %>% select(-matches("口試")) df_ntu_exam
#> Rows: 224
#> Columns: 20
#> $ 口試 <chr> NA, NA, NA, NA, NA, NA, "●\u0098\u0098\u0098\u0098\u0098\u0…
#> $ 簡章代碼 <chr> NA, NA, NA, NA, NA, "101", "102", "103", "104", "105", "106",…
#> $ 口試比例 <dbl> NA, NA, NA, NA, NA, NA, 0.25, NA, NA, NA, 0.30, NA, 0.40, NA,…
#> $ 系所別 <chr> NA, "總計", "合計(全部系所組)", "小計(無口試系所組)", "小計(有口試系所組)", "中國文學系", …
#> $ 組別 <chr> NA, NA, NA, NA, NA, NA, NA, NA, "甲組(主修東方哲學)", "乙組(主修西方哲學)",…
#> $ 報考人數 <chr> "一般", "18474", "18372", "11309", "7063", "175", "73", "127", …
#> $ ...7 <chr> "在職", NA, "102", "26", "76", NA, NA, NA, NA, NA, NA, NA, …
#> $ 招生名額 <chr> "一般", "1935", "1860", "1251", "609", "17", "10", "18", "3", "…
#> $ ...9 <chr> "在職", NA, "75", "33", "42", NA, NA, NA, NA, NA, NA, NA, N…
#> $ 錄取人數 <chr> "一般", "1908", "1876", "1258", "618", "17", "10", "20", "2", "…
#> $ ...11 <chr> "在職", NA, "32", "8", "24", NA, NA, NA, NA, NA, NA, NA, NA…
#> $ 錄取情況 <chr> "一般", "缺額29", "增額14", "增額7", "增額7", NA, NA, "同分2", "缺額1", NA,…
#> $ ...13 <chr> "在職", NA, "缺額43", "缺額25", "缺額18", NA, NA, NA, NA, NA, NA,…
#> $ 錄取最低分數 <chr> "一般", NA, NA, NA, NA, "230", "221.66", "285", "202", "201", "33…
#> $ ...15 <chr> "在職", NA, NA, NA, NA, "0", NA, "0", "0", "0", NA, "0", NA…
#> $ 錄取率 <chr> "一般", "0.10328028580708022", "0.1021119094273895", "0.111238…
#> $ ...17 <chr> "在職", NA, "0.31372549019607843", "0.30769230769230771", "…
#> $ 備取人數 <chr> "一般", "957", "950", "677", "273", "0", "3", "0", "0", "0", "1…
#> $ ...19 <chr> "在職", NA, "7", "0", "7", NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ 本校最低門檻 <dbl> NA, NA, NA, NA, NA, 160, 140, 240, 160, 160, 200, 200, 160, 120…
#> # A tibble: 224 x 11
#> 簡章代碼 系所別 組別 報考人數 招生名額 錄取人數 錄取情況 錄取最低分數 錄取率
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 <NA> <NA> <NA> 一般 一般 一般 一般 一般 一般
#> 2 <NA> 總計 <NA> 18474 1935 1908 缺額29 <NA> 0.103…
#> 3 <NA> 合計(全部… <NA> 18372 1860 1876 增額14 <NA> 0.102…
#> 4 <NA> 小計(無口… <NA> 11309 1251 1258 增額7 <NA> 0.111…
#> 5 <NA> 小計(有口… <NA> 7063 609 618 增額7 <NA> 0.087…
#> 6 101 中國文學系… <NA> 175 17 17 <NA> 230 0.097…
#> 7 102 外國語文學… <NA> 73 10 10 <NA> 221.66 0.136…
#> 8 103 歷史學系… <NA> 127 18 20 同分2 285 0.157…
#> 9 104 哲學系 甲組(主… 6 3 2 缺額1 202 0.333…
#> 10 105 哲學系 乙組(主… 23 3 3 <NA> 201 0.130…
#> # … with 214 more rows, and 2 more variables: 備取人數 <chr>,
#> # 本校最低門檻 <dbl>
#> # A tibble: 224 x 11
#> 簡章代碼 系所別 組別 報考人數 招生名額 錄取人數 錄取情況 錄取最低分數 錄取率
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 <NA> <NA> <NA> 一般 一般 一般 一般 一般 一般
#> 2 <NA> 總計 <NA> 18474 1935 1908 缺額29 <NA> 0.103…
#> 3 <NA> 合計(全部… <NA> 18372 1860 1876 增額14 <NA> 0.102…
#> 4 <NA> 小計(無口… <NA> 11309 1251 1258 增額7 <NA> 0.111…
#> 5 <NA> 小計(有口… <NA> 7063 609 618 增額7 <NA> 0.087…
#> 6 101 中國文學系… <NA> 175 17 17 <NA> 230 0.097…
#> 7 102 外國語文學… <NA> 73 10 10 <NA> 221.66 0.136…
#> 8 103 歷史學系… <NA> 127 18 20 同分2 285 0.157…
#> 9 104 哲學系 甲組(主… 6 3 2 缺額1 202 0.333…
#> 10 105 哲學系 乙組(主… 23 3 3 <NA> 201 0.130…
#> # … with 214 more rows, and 2 more variables: 備取人數 <chr>,
#> # 本校最低門檻 <dbl>
slice()
or filter()
or [,]
:觀察原始檔案可以發現,資料中前幾列包含總計、合計、小計,因為我只想看各系所的招生情況,所以請先依照上題所說,先拿掉在職
與口試
相關的欄位,接著幫我抓取從中國文學系開始的資料,完成後將結果儲存在 df_ntu_exam_clean
,最後將 df_ntu_exam_clean
印出### your code
<- df_ntu_exam %>%
df_ntu_exam_clean select(-c(`...7`,`...9`,`...11`,`...13`,`...15`,`...17`,`...19`)) %>%
select(-c(`口試`,`口試比例`)) %>%
slice(-c(1:5))
df_ntu_exam_clean
#> # A tibble: 219 x 11
#> 簡章代碼 系所別 組別 報考人數 招生名額 錄取人數 錄取情況 錄取最低分數 錄取率
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 101 中國文學系… <NA> 175 17 17 <NA> 230 0.097…
#> 2 102 外國語文學… <NA> 73 10 10 <NA> 221.66 0.136…
#> 3 103 歷史學系… <NA> 127 18 20 同分2 285 0.157…
#> 4 104 哲學系 甲組(主… 6 3 2 缺額1 202 0.333…
#> 5 105 哲學系 乙組(主… 23 3 3 <NA> 201 0.130…
#> 6 106 人類學系… <NA> 29 8 8 <NA> 334.6000000… 0.275…
#> 7 107 圖書資訊學… <NA> 42 9 9 <NA> 316 0.214…
#> 8 108 日本語文學… <NA> 54 12 12 <NA> 263.9700000… 0.222…
#> 9 109 戲劇學系… 甲組(主… 30 9 7 缺額2 182 0.233…
#> 10 110 戲劇學系… 乙組(劇… 14 3 1 缺額2 233.66 0.071…
#> # … with 209 more rows, and 2 more variables: 備取人數 <chr>,
#> # 本校最低門檻 <dbl>
filter()
:觀察原始資料後發現,有些系組的報考人數的值為空,請利用 df_ntu_exam_clean
,幫我找出報考人數值為空的資料有哪些,完成後印出 tibble/dataframe提示
is.na()
這個函數,如果 NA
丟進去,會得到 TRUE
,以外會得到 FALSE
filter()
的本質就是篩選符合特定條件的列,所以理想上你也可以篩選出報考人數的值為空的列### your code
%>%
df_ntu_exam_clean filter(is.na(`報考人數`))
#> # A tibble: 12 x 11
#> 簡章代碼 系所別 組別 報考人數 招生名額 錄取人數 錄取情況 錄取最低分數 錄取率
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 411 醫學檢驗暨… (在職)… <NA> <NA> <NA> <NA> <NA> <NA>
#> 2 502 土木工程學… 大地工程… <NA> <NA> <NA> <NA> <NA> <NA>
#> 3 504 土木工程學… 結構工程… <NA> <NA> <NA> <NA> <NA> <NA>
#> 4 506 土木工程學… 水利工程… <NA> <NA> <NA> <NA> <NA> <NA>
#> 5 710 國際企業學… 丁組 <NA> <NA> <NA> <NA> <NA> <NA>
#> 6 803A 職業醫學與… 甲組 <NA> 6 7 <NA> 202.3000000… <NA>
#> 7 803B 環境衛生研… 甲組 <NA> 6 7 <NA> 201.8000000… <NA>
#> 8 809 公共衛生碩… 甲組(生… <NA> <NA> <NA> <NA> <NA> <NA>
#> 9 810 公共衛生碩… 乙組(流… <NA> <NA> <NA> <NA> <NA> <NA>
#> 10 811 公共衛生碩… 丙組(社… <NA> <NA> <NA> <NA> <NA> <NA>
#> 11 812 公共衛生碩… 丁組(健… <NA> <NA> <NA> <NA> <NA> <NA>
#> 12 813 公共衛生碩… 戊組(環… <NA> <NA> <NA> <NA> <NA> <NA>
#> # … with 2 more variables: 備取人數 <chr>, 本校最低門檻 <dbl>
df_ntu_exam_clean
輸出成 .csv 到 Lab04 資料夾當中,請取名為 df_ntu_exam_clean.csv
。### your code
%>% select(-c(`...7`,`...9`,`...11`,`...13`,`...15`,`...17`,`...19`)) %>%
df_ntu_exam select(-c(`口試`,`口試比例`)) %>%
slice(-c(1:5)) %>%
write_csv("data/Lab04/df_ntu_exam_clean.csv")
filter()
and select()
:請幫我利用 df_ntu_exam_clean
,篩選出 “新聞研究所” 的資料感嘆一下 101 年的榮景,最後印出新聞所那列的系所、報考人數、招生名額、錄取人數、錄取率的 tibble/dataframe### your code
%>%
df_ntu_exam_clean filter(系所別 == "新聞研究所") %>%
select(`系所別`,`報考人數`,`招生名額`,`錄取人數`,`錄取率`)
#> # A tibble: 1 x 5
#> 系所別 報考人數 招生名額 錄取人數 錄取率
#> <chr> <chr> <chr> <chr> <chr>
#> 1 新聞研究所 275 13 14 0.050909090909090911