使用 dplyr 编程
Dr. Chester Ismay
Educator, Data Scientist, and R/Python Consultant
library(ggplot2) ggplot( world_bank_data, aes(x = infant_mortality_rate) ) +geom_histogram(color = "white")

ggplot( world_bank_data, aes(x = infant_mortality_rate) ) + geom_histogram(color = "white") +ggtitle("A histogram of infant_mortality_rate")

# 之前的绘图代码
ggplot(world_bank_data, aes(x = infant_mortality_rate)) +
geom_histogram(color = "white") +
ggtitle("A histogram of infant_mortality_rate")
# 定义函数 my_histogram <- function(df, x_var) {ggplot(df, aes(x = x_var)) + geom_histogram(color = "white") + ggtitle(paste("A histogram of", x_var)) }
# 第一次尝试编写函数 my_histogram <- function(df, x_var) { ggplot(df, aes(x = x_var)) + geom_histogram(color = "white") + ggtitle(paste("A histogram of", x_var)) }# 调用函数 my_histogram(df = world_bank_data, x_var = infant_mortality_rate)
Error in paste("A histogram of", x_var) :
object 'infant_mortality_rate' not found
# 第一次尝试编写函数
my_histogram <- function(df, x_var) {
ggplot(df, aes(x = x_var)) +
geom_histogram(color = "white") +
ggtitle(paste("A histogram of", x_var))
}
# 做必要调整以避免报错 my_histogram <- function(df, x_var) { ggplot(df, aes(x = {{ x_var }})) +geom_histogram(color = "white") + ggtitle(paste("A histogram of",as_label(enquo(x_var))) }
# 使用 rlang 运算符定义函数 my_histogram <- function(df, x_var) { ggplot(df, aes(x = {{ x_var }})) + geom_histogram(color = "white") + ggtitle(paste( "A histogram of", as_label(enquo(x_var)) )) }# 用管道调用函数! world_bank_data %>% my_histogram(x_var = perc_rural_pop)

使用 dplyr 编程