使用 purrr 掌握函数式编程基础
Auriel Fournier
Instructor
# 遍历 survey_data 并获取行数
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(species_names, ~.x)
字符型
# 遍历 species_names 列表
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,获取各元素的行数 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 掌握函数式编程基础