Merging two data frames by adding new to old
The dplry library includes a function full_join that does what I think you intend for merging data.
library(tibble) # Used for reproducible example
library(dplyr)
old <- tribble(~date,~os,~visits,
"2019-10-08","Android", 82,
"2019-10-08","Chrome OS", 52,
"2019-10-09","Android", 70,
"2019-10-09","Chrome OS", 30)
new <- tribble(~date,~os,~visits,
"2019-10-09","Android", 70,
"2019-10-09","Chrome OS", 30,
"2019-10-10","Android", 19,
"2019-10-10","Chrome OS", 99)
joined <- full_join(old, new)
joined
# A tibble: 6 x 3
# date os visits
# <chr> <chr> <dbl>
# 1 2019-10-08 Android 82
# 2 2019-10-08 Chrome OS 52
# 3 2019-10-09 Android 70
# 4 2019-10-09 Chrome OS 30
# 5 2019-10-10 Android 19
# 6 2019-10-10 Chrome OS 99
Storing data
Data tables or frames are in memory constructs in R. You can write the data to disk as whatever format you like and read it back into either a table or frame. Using save() to store and .RData file and lock yourself into a particular class seems like a bad plan.
Serializing the data to RDS files with saveRDS and tracking them however you want might be useful for space considerations. Until I/O gets to be a pain, serializing to csv with write.csv() should work.
Summarizing data
Take a look at the dplyr package and tutorials for manipulating data in R. There are convenient functions like group_by and a pipe operator %>% to pass the resulting data along from one function to the next.
Keep SQL for DB queries
You shouldn't need to write any SQL for handling tabular data. Heck, you shouldn't need to do that for handling multiple data sets. Keep SQL in it's place and use it for querying databases.
Making a web page with R.
An entire question unto itself that should be addressed once you have R summarizing data the way you like. I suggest starting with an rmarkdown document to emit a plain html page or a pdf to start with. Only dive into shiny if you need something interactive.