I would like to generate a sequence along two variables using row_number()
but the result is not behaving as I expected...
library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 3.6.3
#> Warning: package 'ggplot2' was built under R version 3.6.3
#> Warning: package 'tibble' was built under R version 3.6.3
#> Warning: package 'tidyr' was built under R version 3.6.2
#> Warning: package 'purrr' was built under R version 3.6.2
#> Warning: package 'dplyr' was built under R version 3.6.3
#> Warning: package 'forcats' was built under R version 3.6.3
test <- data.frame(model = c("iron", "iron", "iron", "steel", "steel"), year = c(2010, 2011, 2012, 2008, 2009))
test %>% group_by(model, year) %>% mutate(number = row_number())
#> # A tibble: 5 x 3
#> # Groups: model, year [5]
#> model year number
#> <fct> <dbl> <int>
#> 1 iron 2010 1
#> 2 iron 2011 1
#> 3 iron 2012 1
#> 4 steel 2008 1
#> 5 steel 2009 1
Based on my understanding of the code above I would expect the number
column to be 1, 2, 3
so the data frame would result in...
data.frame(model = c("iron", "iron", "iron", "steel", "steel"),
year = c(2010, 2011, 2012, 2008, 2009),
number = c(1, 2, 3, 1, 2))
#> model year number
#> 1 iron 2010 1
#> 2 iron 2011 2
#> 3 iron 2012 3
#> 4 steel 2008 1
#> 5 steel 2009 2
How do I achieve this result?