11

freadLinuxパイプメカニズムを介して入力データを取得する(R)スクリプトで使用したいと思います。fread次のアナログはありますか?

read.csv(file = 'stdin', ...)

stdinまた、他の方法で読み取り、それを使用freadして解析することにも落ち着きます。これは、主にfreadの優れたセパレーターとヘッダー ロジックに必要だからです。

4

2 に答える 2

3

すべてのread.*関数は、内部で「スキャン」を使用します。scanかなり低レベルですが、データ行をさまざまなクラスに解析する能力があります。

> mat <- matrix(scan(), 4,4) # will paste in block of data 
1: 0.5 0.1428571 0.25
4: 0.5 0.1428571 0.25
7: 0.5 0.1428571 0.25
10: 0.5 0.1428571 0.25
13: 0.5 0.1428571 0.25
16: 0.5 
17:        # Terminate with two <cr>'s
Read 16 items
> mat
          [,1]      [,2]      [,3]      [,4]
[1,] 0.5000000 0.1428571 0.2500000 0.5000000
[2,] 0.1428571 0.2500000 0.5000000 0.1428571
[3,] 0.2500000 0.5000000 0.1428571 0.2500000
[4,] 0.5000000 0.1428571 0.2500000 0.5000000


> lst <- scan(what=list(double(0), "a"))
1: 4 t
2: 6 h
3:  8 l
4: 8 8
5: 
Read 4 records
> lst
[[1]]
[1] 4 6 8 8

[[2]]
[1] "t" "h" "l" "8"

ページも見るべき?connectionsです。

于 2013-07-01T20:42:33.577 に答える