我正在尝试使用lapply函数绘制多个数据框(每个数据框一个图),但是尽管该主题的所有文章我都找不到答案,因为我不断遇到错误:图的输出列表为空。] >
我的数据的结构如下:
df1 <- mtcars %>% group_by(cyl) %>% tally() colnames(df1) <- c('var', 'n') df2 <- mtcars %>% group_by(gear) %>% tally() colnames(df2) <- c('var', 'n') dfList <- list(df1, df2) dfList [[1]] # A tibble: 3 x 2 var n <dbl> <int> 1 4 11 2 6 7 3 8 14 [[2]] # A tibble: 3 x 2 var n <dbl> <int> 1 3 15 2 4 12 3 5 5
我尝试过:
make_hist <- function(xvar){
ggplot(dfList, aes_(x = ~var, y = as.name(xvar))) +
geom_col() }
plots <- lapply(names(dfList), make_hist)
plots
list()
plots[1]
[[1]]
NULL
[我正在尝试使用lapply函数绘制多个数据框(每个数据框一个图),但是尽管该主题的所有文章我都找不到答案,因为我不断遇到错误:输出列表...
尝试使用此方法绘制数据框列表:
df1 <- mtcars %>% group_by(cyl) %>% tally()
colnames(df1) <- c('var', 'n')
df2 <- mtcars %>% group_by(gear) %>% tally()
colnames(df2) <- c('var', 'n')
colnames(df2) <- c('var', 'n')
dfList <- list(df1, df2)
make_hist <- function(df){
ggplot(df, aes(x = var, y = n)) +
geom_col() }
plots <- lapply(dfList, make_hist)