我有一个数据框叫做df。行是月份,行名是年份。我想按照1月到12月的顺序对月份进行排序,并且想计算不同年份相同月份之间的百分比差异。例如,我想知道2009年和2008年1月、2月等的百分比差异。对所有月份进行类似处理。
这是我的df:
有没有简单的方法来做这件事,可能是R中的一个包?
这是我的df:
df <- structure(list(YEAR = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 1L,
2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L,
6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L,
4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L,
2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L,
6L), .Label = c("2008", "2009", "2010", "2011", "2012", "2013"
), class = "factor"), M = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L,
7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L,
10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 12L,
12L, 12L, 12L, 12L, 12L), .Label = c("Apr", "Aug", "Dec", "Feb",
"Jan", "Jul", "Jun", "Mar", "May", "Nov", "Oct", "Sep"), class = "factor"),
Freq = c(93221016, 124800455, 224127360, 287150001, 318228530,
387573710, 98811936, 171940117, 239581603, 294965702, 336269471,
406584525, 112958413, 215853263, 282293439, 314483537, 355561387,
386086538, 89354868, 109900379, 206640377, 268944957, 322896485,
356774443, 91007916, 113469678, 220743958, 284697404, 324823553,
373885187, 96887316, 158230269, 242175673, 284271058, 335464023,
397269760, 90091044, 143862802, 232512479, 262275285, 324988644,
388064866, 93936288, 139665422, 213302607, 297847827, 329044914,
386372600, 99646750, 139195786, 229651074, 277779620, 324395065,
397346365, 106477407, 197698621, 256559666, 242683830, 347193478,
430880720, 100909236, 185392147, 258317251, 238847338, 349017727,
422523576, 96888876, 170467493, 240815506, 285132804, 324063033,
389471906)), .Names = c("YEAR", "M", "Freq"), row.names = c(NA,
-72L), class = "data.frame")
有没有简单的方法来做这件事,可能是R中的一个包?
y
对象。 - Joshua Ulrich