1 加载程序包

library(tidyverse)

2 lapply返回数据框

使用lapply函数去替代某些重复性操作的时候,难免会返回列表数据。一般而言,还得需要使用dataframe函数去转换为数据框,略显繁琐。下面我们“df”去解决这个问题:

df <- data.frame(a = 1:3, b = 2:4)

df[] <- lapply(df, function(x) { x + 1 })
df
##   a b
## 1 2 3
## 2 3 4
## 3 4 5

3 多个函数应用于同一个数据

通常都是使用lapply对数据的每一列执行同一个函数命令,下面使用lapply去实现多个函数作用于同一个数据:

my_summary <- function(x) {
  funs <- c(mean, median, sd, mad, IQR)
  lapply(funs, function(f) f(x, na.rm = TRUE)) %>% unlist()
}

my_summary(df$a)
## [1] 3.0000 3.0000 1.0000 1.4826 1.0000

4