使用 purrr 的函式式程式設計基礎
Auriel Fournier
Instructor
# 對 survey_data 套用 map 並取得列數
map(survey_data, ~nrow(.x))
$`LakeErieS`
[1] 14
$`LakeErieN`
[1] 14
$`LakeErieW`
[1] 14
$`LakeErieE`
[1] 15
清單輸出
# 取得列數
map(survey_data, ~nrow(.x))
Double,數值型別
# 取得列數
map_dbl(survey_data, ~nrow(.x))
$`LakeErieS`
[1] 14
$`LakeErieN`
[1] 14
$`LakeErieW`
[1] 14
$`LakeErieE`
[1] 15
14 14 14 15
清單
# 取得列數
map(survey_data, ~nrow(.x))
邏輯值
# 判斷各元素是否有 14 列
map_lgl(survey_data, ~nrow(.x)==14)
$`LakeErieS`
[1] 14
$`LakeErieN`
[1] 14
$`LakeErieW`
[1] 14
$`LakeErieE`
[1] 15
TRUE TRUE TRUE FALSE
清單輸出
# 對 species_names 清單套用 map
map(species_names, ~.x)
字元
# 對 species_names 清單套用 map
map_chr(species_names, ~.x)
$`LakeErieS`
[1] "Green Frog"
$`LakeErieN`
[1] "American Bullfrog"
$`LakeErieW`
[1] "Gray Treefrog"
$`LakeErieE`
[1] "Mudpuppy"
LakeErieS LakeErieN
"Green Frog" "American Bullfrog"
LakeErieW LakeErieE
"Gray Treefrog" "Mudpuppy"
# 建立名為 survey_rows 的資料框 survey_rows <- data.frame(names = names(survey_data), rows = NA)# 對 survey_data 套用 map 取得各元素的列數 survey_rows$rows <- map_dbl(survey_data, ~nrow(.x))# 列印 survey_rows 資料框 survey_rows
names rows
1 LakeErieS 14
2 LakeErieN 14
3 LakeErieW 14
4 LakeErieE 15
使用 purrr 的函式式程式設計基礎