我很惊讶R从一个大文件(11GB +)读取特定行需要多长时间.例如:
> t0 = Sys.time()
> read.table('data.csv', skip=5000000, nrows=1, sep=',')
V1 V2 V3 V4 V5 V6 V7
1 19.062 56.71047 1 16 8 2006 56281
> print(Sys.time() - t0)
Time difference of 49.68314 secs
Run Code Online (Sandbox Code Playgroud)
OSX终端可以立即返回特定的线路.有人知道R中更有效的方式吗?
Dir*_*tel 18
那么你可以使用这样的东西
dat <- read.table(pipe("sed -n -e'5000001p' data.csv"), sep=',')
Run Code Online (Sandbox Code Playgroud)
只读取用其他shell工具提取的行.
另请注意,这system.time(someOps)是一种更容易测量时间的方法.