【发布时间】:2010-04-26 15:53:24
【问题描述】:
在 R 中,我正在寻找一种节省内存的方法来创建表格数据的摘要,如下所示。
以data.framefoo 为例,我使用table() 进行汇总,然后使用as.data.frame() 获取频率计数。
foo <- data.frame(x= c('a', 'a', 'a', 'b', 'b', 'b'), y=c('ab', 'ac', 'ad', 'ae', 'fx', 'fy'))
bar <- as.data.frame(table(foo), stringsAsFactors=F)
这导致bar 的以下频率计数
x y Freq
1 a ab 1
2 b ab 0
3 a ac 1
4 b ac 0
5 a ad 1
6 b ad 0
7 a ae 0
8 b ae 1
9 a fx 0
10 b fx 1
11 a fy 0
12 b fy 1
我遇到的问题是当x 和y 有多个级别时,它开始占用大量>64 GB 的内存。我想知道是否有另一种方法来进行这种频率计数。作为第一步,我设置了stringsAsFactors=F,但这并不能完全解决问题。
【问题讨论】: