我有非常大的表(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)
有没有更好的方法呢?或者很可能完全不同的方法来解决问题?
任何人都可以告诉我如何只阅读下面数据的前6个月(7列),例如使用read.table()?
Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2009 -41 -27 -25 -31 -31 -39 -25 -15 -30 -27 -21 -25
2010 -41 -27 -25 -31 -31 -39 -25 -15 -30 -27 -21 -25
2011 -21 -27 -2 -6 -10 -32 -13 -12 -27 -30 -38 -29
Run Code Online (Sandbox Code Playgroud) 我有一张带有几张纸的excel电子表格.格式如下:
Date A B C D E F Reference Ref Date Half life
03/01/13 6.29 5.28 8.15 4.93 11.67 6.4 8.88 01/01/99 30.23
04/01/13 6.39 5.39 8.22 5.04 11.75 6.4
07/01/13 6.34 5.32 8.17 4.92 11.82 6.4
08/01/13 6.33 5.3 8.16 4.96 11.68 6.4
09/01/13 6.29 5.29 8.13 4.93 11.73 6.4
10/01/13 6.29 5.32 8.17 4.95 11.61 6.4
11/01/13 6.21 5.27 8.12 4.95 11.57 6.4
14/01/13 6.28 5.28 8.09 4.92 11.65 6.4
15/01/13 6.25 5.26 8.06 4.9 11.59 6.4
16/01/13 …Run Code Online (Sandbox Code Playgroud)