Ale*_*ard 40 r delimited data-processing read.table
我有一些非常大的分隔数据文件,我想只处理R中的某些列而不花时间和内存来创建data.frame
整个文件.
我所知道的唯一选择是read.table
,当我只想要几列或者scan
看起来我想要的水平太低时非常浪费.
有没有更好的选择,无论是使用纯R还是调用其他shell脚本来进行列提取,然后在其输出上使用scan或read.table?(这导致了如何调用shell脚本并在R中捕获其输出的问题).
Ken*_*ams 35
当我将数据放在制表符分隔的文件中时,有时我会这样做:
df <- read.table(pipe("cut -f1,5,28 myFile.txt"))
Run Code Online (Sandbox Code Playgroud)
这样就可以cut
进行数据选择,它可以在不使用大量内存的情况下完成.
见只读列的数量有限,对于纯的R版本,使用"NULL"
的colClasses
参数read.table
.
Dir*_*tel 19
一种可能性是使用pipe()
代替文件名,并且具有awk
或类似的过滤器仅提取所需的列.
了解help(connection)
更多信息pipe
和朋友.
编辑:read.table()
如果您对colClasses非常明确,也可以为您执行此操作 - 给定列的值为NULL会全部跳过该列.见help(read.table)
.所以我们在基础R中有一个解决方案,没有额外的包或工具.
归档时间: |
|
查看次数: |
70513 次 |
最近记录: |