Je dois suivre data.frame nommé countries_tools
. Il se compose de 3 colonnes (une colonne datetime (pour les 13 derniers mois), une colonne de nom (avec les pays) et une colonne de visites (personnes visitant la page de ces pays particuliers)):R - dcast à partir de Reshape2 - ordre par variable de valeur et nom non variable
datetime name Visits
2016-07-01 00:00:00 China 5237
2016-07-01 00:00:00 Germany 1434
2016-07-01 00:00:00 United States 1530
2016-07-01 00:00:00 India 696
2016-07-01 00:00:00 Japan 569
...
2017-07-01 00:00:00 China 4484
2017-07-01 00:00:00 Germany 1593
2017-07-01 00:00:00 United States 1438
2017-07-01 00:00:00 India 1204
2017-07-01 00:00:00 Japan 538
S'il vous plaît prendre note que j'ai enlevé les 11 autres mois entre les deux. Notez également que ce nom est toujours une liste des mêmes 5 pays, qui correspondent aux cinq pays ayant le plus grand nombre de visites au cours du dernier mois analysé (juillet 2017 dans ce cas).
À la fin de ce message, il y a un dput
avec mes données.
Pour mieux comprendre les données et le développement de visites à travers les mois, je fais dcast
de mon data.frame:
countries_tools <- dcast(countries_tools, datetime ~ name, value.var="Visits")
Cependant, les commandes de dataframe résultant des colonnes par le nom du pays (par ordre alphabétique):
> names(countries_tools)
[1] "datetime" "China" "Germany" "India" "Japan" "United States"
Je pense, cependant, que l'ordre se fait par la variable de valeur (visites) et donc l'ordre optimal doit être:
datetime, Chine, Allemagne, États-Unis, Inde, Japon
Peut-il être fait (au mieux si elle n'est pas nécessaire une étape supplémentaire)? L'utilisation d'autres fonctions est également une possibilité.
données
dput(countries_tools)
structure(list(datetime = structure(c(1467320400, 1467320400,
1467320400, 1467320400, 1467320400, 1469998800, 1469998800, 1469998800,
1469998800, 1469998800, 1472677200, 1472677200, 1472677200, 1472677200,
1472677200, 1475269200, 1475269200, 1475269200, 1475269200, 1475269200,
1477951200, 1477951200, 1477951200, 1477951200, 1477951200, 1480543200,
1480543200, 1480543200, 1480543200, 1480543200, 1483221600, 1483221600,
1483221600, 1483221600, 1483221600, 1485900000, 1485900000, 1485900000,
1485900000, 1485900000, 1488319200, 1488319200, 1488319200, 1488319200,
1488319200, 1490994000, 1490994000, 1490994000, 1490994000, 1490994000,
1493586000, 1493586000, 1493586000, 1493586000, 1493586000, 1496264400,
1496264400, 1496264400, 1496264400, 1496264400, 1498856400, 1498856400,
1498856400, 1498856400, 1498856400), class = c("POSIXct", "POSIXt"
), tzone = "Europe/Moscow"), name = c("China", "Germany", "United States",
"India", "Japan", "China", "Germany", "United States", "India",
"Japan", "China", "Germany", "United States", "India", "Japan",
"China", "Germany", "United States", "India", "Japan", "China",
"Germany", "United States", "India", "Japan", "China", "Germany",
"United States", "India", "Japan", "China", "Germany", "United States",
"India", "Japan", "China", "Germany", "United States", "India",
"Japan", "China", "Germany", "United States", "India", "Japan",
"China", "Germany", "United States", "India", "Japan", "China",
"Germany", "United States", "India", "Japan", "China", "Germany",
"United States", "India", "Japan", "China", "Germany", "United States",
"India", "Japan"), Visits = c(5237, 1434, 1530, 696, 569, 4422,
1508, 1971, 672, 461, 3993, 1521, 1901, 2027, 517, 3656, 1764,
1716, 993, 509, 5483, 3117, 2762, 1298, 594, 5548, 2804, 2365,
1222, 551, 3747, 3083, 1917, 999, 496, 3903, 2136, 1751, 1229,
611, 5638, 2721, 2074, 1569, 533, 4326, 1618, 1511, 1254, 458,
4364, 2021, 1690, 1162, 462, 4462, 1572, 1517, 1068, 574, 4484,
1593, 1438, 1204, 538)), .Names = c("datetime", "name", "Visits"
), row.names = c(NA, -65L), class = "data.frame")