将数据帧转换为频率表

时间:2019-09-15 08:13:18

标签: dataframe frequency

我想将数据帧转换为频率数据帧,以便将行分组为类间隔,并将每一列中的值汇总为每个类间隔的总和。

我的数据如下:

structure(list(`20190828` = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), `20190829` = c(0L, 
0L, 2L, 0L, 2L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 
2L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 2L, 0L, 
0L, 2L, 0L, 2L, 1L, 20L, 0L, 1L, 4L, 0L, 17L, 4L, 0L, 2L, 1L, 
3L, 0L, 1L, 2L, 12L, 4L, 2L, 1L, 4L, 1L, 6L, 4L, 1L, 2L, 2L, 
3L, 1L, 0L, 1L, 2L, 1L, 0L, 1L, 4L, 3L, 0L, 2L, 2L, 3L, 8L, 0L, 
2L, 3L, 1L, 0L, 0L), `20190830` = c(0L, 1L, 2L, 0L, 0L, 1L, 3L, 
0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 
1L, 0L, 0L, 1L, 0L, 0L, 0L, 2L, 1L, 0L, 3L, 1L, 1L, 0L, 1L, 3L, 
0L, 3L, 4L, 0L, 3L, 2L, 2L, 2L, 0L, 1L, 4L, 2L, 1L, 5L, 7L, 6L, 
1L, 4L, 5L, 4L, 6L, 3L, 4L, 0L, 4L, 6L, 4L, 9L, 5L, 4L, 10L, 
5L, 3L, 7L, 4L, 5L, 18L, 3L, 2L, 13L, 2L, 3L, 7L, 4L, 5L, 5L, 
4L, 4L, 9L, 12L, 8L, 4L, 13L, 7L, 5L, 3L, 7L, 18L, 2L, 2L, 6L
), `20190831` = c(0L, 0L, 2L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 
0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 5L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 
1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 2L, 3L, 1L, 0L, 0L, 0L, 2L, 2L, 
1L, 0L, 1L, 3L, 1L, 0L, 0L, 0L, 2L, 0L, 0L, 5L, 3L, 1L, 0L, 2L, 
2L, 7L, 9L, 3L, 3L, 0L, 2L, 1L, 2L, 2L, 4L, 6L, 5L, 4L, 4L, 2L, 
8L, 5L, 3L, 5L, 7L, 5L, 4L, 1L, 0L, 3L, 9L, 2L, 18L, 3L, 0L, 
3L, 0L, 6L, 7L, 17L, 2L, 3L, 1L, 56L, 1L), `20190901` = c(1L, 
0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 2L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 2L, 0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 2L, 0L, 0L, 1L, 1L, 1L, 0L, 2L, 1L, 1L, 1L, 1L, 
1L, 2L, 3L, 1L, 1L, 1L, 1L, 0L, 0L, 4L, 1L, 1L, 2L, 4L, 1L, 6L, 
3L, 3L, 3L, 1L, 1L, 2L, 2L, 5L, 4L, 3L, 2L, 2L, 5L, 3L, 2L, 2L, 
2L, 0L, 6L, 2L, 0L, 1L, 64L, 0L, 9L, 4L, 1L, 3L, 1L, 1L, 12L, 
11L, 5L, 11L, 0L), `20190902` = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 1L, 
0L, 2L, 0L, 1L, 0L, 1L, 1L, 0L, 3L, 1L, 2L, 2L, 1L, 0L, 1L, 1L, 
2L, 3L, 3L, 2L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 5L, 1L, 1L, 1L, 1L, 
3L, 1L, 2L, 0L, 2L, 2L, 8L, 2L, 1L, 0L, 0L, 2L, 6L, 0L, 1L, 0L, 
14L, 0L, 2L, 0L, 2L, 7L, 1L, 0L, 1L, 2L, 1L, 2L, 3L), `20190903` = c(0L, 
0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 
0L, 0L, 1L, 2L, 2L, 1L, 0L, 2L, 2L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 
2L, 1L, 0L, 1L, 0L, 2L, 2L, 1L, 1L, 3L, 3L, 0L, 1L, 1L, 1L, 2L, 
3L, 0L, 1L, 0L, 0L, 7L, 1L, 3L, 1L, 0L, 3L, 1L, 4L, 6L, 4L, 2L, 
1L, 4L, 2L, 2L, 0L, 1L, 5L, 3L, 2L, 0L, 5L, 3L, 3L, 2L, 3L, 2L, 
1L, 4L, 1L), `20190904` = c(0L, 0L, 5L, 0L, 1L, 0L, 0L, 1L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 0L, 4L, 1L, 1L, 1L, 0L, 
1L, 1L, 0L, 0L, 1L, 2L, 0L, 1L, 1L, 1L, 4L, 1L, 0L, 0L, 0L, 0L, 
1L, 3L, 8L, 2L, 2L, 3L, 5L, 0L, 2L, 2L, 3L, 2L, 5L, 3L, 7L, 10L, 
9L, 4L, 3L, 9L, 6L, 6L, 14L, 12L, 13L, 7L, 3L, 5L, 8L, 10L, 8L, 
7L, 76L, 5L, 9L, 8L, 8L, 6L, 14L, 16L, 6L, 12L, 12L, 10L, 10L, 
5L, 20L, 123L, 17L, 34L, 10L, 22L, 13L, 19L, 24L, 16L, 8L, 48L, 
11L), `20190905` = c(0L, 0L, 5L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 1L, 2L, 1L, 0L, 0L, 
0L, 0L, 0L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 3L, 
2L, 5L, 0L, 3L, 1L, 2L, 1L, 1L, 7L, 0L, 2L, 3L, 1L, 1L, 2L, 2L, 
1L, 1L, 5L, 0L, 0L, 6L, 1L, 8L, 2L, 1L, 3L, 3L, 1L, 3L, 2L, 4L, 
4L, 7L, 4L, 8L, 31L, 2L, 4L, 3L, 3L, 0L, 7L, 4L, 8L, 5L, 64L, 
4L, 7L, 2L, 5L, 3L, 11L, 4L, 6L, 4L, 5L, 2L), `20190906` = c(0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 2L, 1L, 0L, 2L, 2L, 0L, 0L, 0L, 
1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L, 2L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 1L, 2L, 1L, 0L, 1L, 0L, 
0L, 1L, 0L, 0L, 1L, 0L, 1L, 1L, 2L, 1L, 0L, 1L, 3L, 0L, 2L, 1L, 
2L, 0L, 3L, 2L, 1L, 1L, 2L, 1L, 1L, 3L, 1L, 2L, 2L, 4L, 2L, 3L, 
1L, 1L, 0L), `20190907` = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 
0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 
0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L)), .Names = c("20190828", 
"20190829", "20190830", "20190831", "20190901", "20190902", "20190903", 
"20190904", "20190905", "20190906", "20190907"), row.names = c("19", 
"20", "23", "25", "28", "30", "31", "32", "33", "34", "35", "37", 
"38", "39", "40", "41", "42", "44", "45", "46", "47", "48", "50", 
"51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", 
"62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", 
"73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", 
"84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", 
"95", "96", "97", "98", "99", "100", "101", "102", "103", "104", 
"105", "106", "107", "108", "109", "110", "111", "112", "113", 
"114", "115", "116", "117", "118", "119", "120", "121", "122", 
"123", "124", "125", "126", "127"), class = "data.frame")

我想使用break = (15, 555, by = 25)将数据帧转换为另一个数据帧,其中行名称显示为类间隔,而列给出每一列的频率。

只需添加更多内容,我就找到了解决问题的代码。我能够得到想要的东西,但是问题是我一点都不明白。有人可以解释吗?

m <- as.matrix(ta11f)
decade1 <- 10 * as.numeric(rownames(m)) %/% 10
fre1 <- aggregate(m, data.frame(decade1), sum)

0 个答案:

没有答案