from grouped & pivoted tables to normalised tables.

Looking at some more OS uptake figures I am wondering if I am looking in the right place for the correct solution.

Problem:
many "tables" are tabulated output from normalised "tables" (i.e,designed data structures)

So, for example:
library(readr)
chart <- read_csv("http://gs.statcounter.com/os-market-share/desktop/worldwide/chart.php?device=Desktop&device_hidden=desktop&statType_hidden=os_combined&region_hidden=ww&granularity=monthly&statType=Operating%20System&region=Worldwide&fromInt=200901&toInt=201912&fromMonthYear=2009-01&toMonthYear=2019-12&csv=1")")
View(chart)

is clearly derived from a normalised tabel
yyyymm, os, number

so the original can be transposed, but that does not add the rows per month to the table. It does not change the normalisation, just changes the shape of the tabulation.

or if I import

os_country <- read_csv("http://gs.statcounter.com/download/os-country/")
View(os_country)
it is a table that is generated per month and derived from

yyyymm, os, country-name, percentage

Is there a standard way to not just transpose the countries, but to add the records per country to a normalised table? Because as far as I can tell the

column_to_rownames()
Move col in row names.
column_to_rownames(a, var = "C")

does not change the normalisation. Or do I see it wrong?
Thanks,
Y.