Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

More Purrr for GGPlot2 #1

@jdnewmil

Description

@jdnewmil

Thanks to http://r4ds.had.co.nz/ I can riff on your idea and point out that the "do" function doesn't play well with other columns. A little more purrr and some tidyr and you can work with many list columns.

library(ggpmisc) # for annotation
library(tidyr) # for nest
plots <- small_pwt %>%
         mutate( country = as.character( country ) ) %>%
         group_by(country) %>%
         nest %>%
         mutate( avhlm = map( data
                            , function( DF ) {
                                lm( avh ~ year, data = DF )
                              }
                            )
               ) %>%
         mutate( plot = pmap( .
                            , function( country, data, avhlm ) { 
                                ggplot( data, aes( y = avh, x = year ) ) + 
                                  theme_tufte() +
                                  geom_line() +
                                  geom_smooth( method = "lm" ) +
                                  stat_poly_eq( formula = y ~ x
                                              , aes( label = paste( ..eq.label..
                                                                  , ..rr.label..
                                                                  , sep = "*\",\"~~~"
                                                                  )
                                                   )
                                              , label.y.npc = "bottom"
                                              , parse = TRUE
                                              ) +
                                  ggtitle( country ) +
                                  ylab( "Year") +
                                  xlab( "Average annual hours worked by persons engaged")
                              }
                            )
               )

# RStudio keeps a history you can surf through
walk( plots$plot, print )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions