相关疑难解决方法(0)

快速读取非常大的表作为数据帧

我有非常大的表(3000万行),我想加载为R中的数据帧 read.table()有很多方便的功能,但似乎实现中有很多逻辑会减慢速度.在我的情况下,我假设我提前知道列的类型,表不包含任何列标题或行名称,并且没有任何我必须担心的病态字符.

我知道在表格中阅读作为列表使用scan()可能非常快,例如:

datalist <- scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0)))
Run Code Online (Sandbox Code Playgroud)

但是我将此转换为数据帧的一些尝试似乎将上述性能降低了6倍:

df <- as.data.frame(scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0))))
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?或者很可能完全不同的方法来解决问题?

import r dataframe r-faq

489
推荐指数
9
解决办法
19万
查看次数

存储和使用对内存来说太大的数据帧的最佳做法?

我正在使用大型数据框,并且已经遇到RAM限制.此时,我可能需要在磁盘上使用序列化版本.有一些软件包支持内存不足的操作,但我不确定哪一个适合我的需求.我宁愿将所有内容保存在数据框中,因此ff包看起来很令人鼓舞,但仍然存在兼容性问题,我无法解决.

当您意识到数据已经达到内存不足时,第一个可以实现的工具是什么?

r out-of-memory

23
推荐指数
1
解决办法
6577
查看次数

在MySQL中设置大型数据库以便在R中进行分析

在分析R中的大型数据集时,我已达到RAM的极限.我认为我的下一步是将这些数据导入MySQL数据库并使用该RMySQL包.主要是因为我不知道数据库术语,我无法弄清楚如何超越安装MySQL几个小时的谷歌搜索和RSeeking(我在Mac OSX 10.6上运行MySQL和MySQL Workbench,但也可以运行Ubuntu 10.04 ).

如何开始使用这个用法有一个很好的参考?此时我不想做任何关系数据库.我只想将.csv文件导入到本地MySQL数据库中并使用RMySQL.进行子集化.

我很欣赏任何指针(包括"你离开基地!"因为我是R的新手并且是大型数据集的新手...这个大约80 mb)

mysql macos r

10
推荐指数
2
解决办法
3783
查看次数

标签 统计

r ×3

dataframe ×1

import ×1

macos ×1

mysql ×1

out-of-memory ×1

r-faq ×1