我有非常大的表(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)
有没有更好的方法呢?或者很可能完全不同的方法来解决问题?
我有一个data.table不是很大(2 GB)但由于某种原因write.csv需要很长时间才能写出来(我从未真正完成等待)并且似乎使用了大量的RAM来完成它.
我尝试将其转换data.table为a,data.frame尽管自从data.table扩展以来这不应该做任何事情data.frame.有没有人碰到这个?
更重要的是,如果你用Ctrl- 来阻止它C,R似乎没有给回记忆.
我有一个data.frame,我想写出来.我的尺寸data.frame是256行乘65536列.什么是更快的替代品write.csv?