I have several data frames that contain information on temporarily ordered cases and one supplementary variable. I would like to merge the data frames in order to obtain a single frame in which cases are still ordered chronologically and associated to the correct variable value.
A minimal working example would be:
Cases <- c("Flanders", "Flanders", "Wallonia", "Wallonia")
From <- c(1830, 1900, 1830, 1950)
To <- c(1899, 2020, 1949, 2020)
Variable1 <- c(0, 1, 0, 1)
Variable1.df <- data.frame(Cases, From, To, Variable1)
Cases <- c("Flanders", "Flanders", "Flanders", "Wallonia", "Wallonia", "Wallonia")
From <- c(1830, 1871, 1946, 1830, 1931, 1976)
To <- c(1870, 1945, 2020, 1930, 1975, 2020)
Variable2 <- c(0, 1, 0, 0, 0, 1)
Variable2.df <- data.frame(Cases, From, To, Variable2)
Cases <- c("Flanders", "Flanders", "Flanders", "Flanders", "Flanders", "Wallonia", "Wallonia", "Wallonia", "Wallonia", "Wallonia")
From <- c(1830, 1850, 1900, 1950, 2000, 1830, 1850, 1900, 1950, 2010)
To <- c(1849, 1899, 1949, 1999, 2020, 1849, 1899, 1949, 2009, 2020)
Variable3 <- c(0, 1, 0, 0, 1, 0, 1, 0, 0, 1)
Variable3.df <- data.frame(Cases, From, To, Variable3)
The output I am looking for would then be:
Cases From To Variable1 Variable2 Variable3
Flanders 1830 1849 0 0 0
Flanders 1850 1870 0 0 1
Flanders 1871 1899 0 1 1
Flanders 1900 1945 1 1 0
Flanders 1946 1999 1 0 0
Flanders 2000 2020 1 0 1
...
Wallonia 2010 2020 1 1 1
Since I have to repeat the operation several times with a changing number of data frames to merge, I would like to create a function. Could someone help me with this? My sincere thanks in advance.