使用 purrr 掌握函数式编程基础
Auriel Fournier
Instructor
lo[["data"]] <- data.frame(bird = c("robin", "sparrow", "jay"),
weight = c(76, 14, 100),
wing_length = c(100, 35, 130))
lo[["model"]] <- lm(weight ~ wing_length,
data = lo[["data"]])
lo[["plot"]] <- ggplot(
data = lo[["model"]],
aes(x = weight, y = wing_length)) +
geom_point()
数据框
mtcars[1, "wt"]
mtcars$wt
2.62
[1] 2.620 2.875 2.320 3.215 3.440
[6] 3.460 3.570 3.190 3.150 3.440
[11] 3.440 4.070 3.730 3.780 5.250
[16] 5.424 5.345 2.200 1.615 1.835
[21] 2.465 3.520 3.435 3.840 3.845
[26] 1.935 2.140 1.513 3.170 2.770
[31] 3.570 2.780
列表
lo[[2]]
Call:
lm(formula = weight ~ wing_length,
data = lo[["data"]])
Coefficients:
(Intercept) wing_length
-17.3216 0.9131
lo[["model"]]
Call:
lm(formula = weight ~ wing_length,
data = lo[["data"]])
Coefficients:
(Intercept) wing_length
-17.3216 0.9131
# 创建承载结果的数据框
df_rows <- data.frame(names = names(survey_data),
rows = NA)
# 遍历 survey_data,统计每个元素的行数
for(i in seq_along(survey_data)){
df_rows[i,'rows'] <- nrow(survey_data[[i]])
}
# 打印 survey_rows
df_rows
names rows
1 LakeErieS 14
2 LakeErieN 14
3 LakeErieW 14
4 LakeErieE 15
# 获取 survey_data 的摘要
summary(survey_data)
Length Class Mode
LakeErieS 2 data.frame list
LakeErieN 2 data.frame list
LakeErieW 2 data.frame list
LakeErieE 2 data.frame list
# 统计 survey_data 中的行数
map(survey_data, ~nrow(.x))
$`LakeErieS`
[1] 14
$`LakeErieN`
[1] 14
$`LakeErieW`
[1] 14
$`LakeErieE`
[1] 15
使用 purrr 掌握函数式编程基础