R salta líneas desde / dev / stdin

Tengo un archivo con una lista de números (hágalo usted mismo:for x in $(seq 10000); do echo $x; done > file).

$> R -q -e "x <- read.csv('file', header=F); summary(x);"

> x <- read.csv('file', header=F); summary(x);
       V1       
 Min.   :    1  
 1st Qu.: 2501  
 Median : 5000  
 Mean   : 5000  
 3rd Qu.: 7500  
 Max.   :10000  
gt; R -q -e "x <- read.csv('file', header=F); summary(x);" > x <- read.csv('file', header=F); summary(x); V1 Min. : 1 1st Qu.: 2501 Median : 5000 Mean : 5000 3rd Qu.: 7500 Max. :10000

Ahora, uno podría esperarcatIngresando el archivo y leyendo de/dev/stdin tener la misma salida, pero no lo hace:

$> cat file | R -q -e "x <- read.csv('/dev/stdin', header=F); summary(x);"
> x <- read.csv('/dev/stdin', header=F); summary(x);
       V1       
 Min.   :    1  
 1st Qu.: 3281  
 Median : 5520  
 Mean   : 5520  
 3rd Qu.: 7760  
 Max.   :10000 
gt; cat file | R -q -e "x <- read.csv('/dev/stdin', header=F); summary(x);" > x <- read.csv('/dev/stdin', header=F); summary(x); V1 Min. : 1 1st Qu.: 3281 Median : 5520 Mean : 5520 3rd Qu.: 7760 Max. :10000

Utilizandotable(x) muestra que se saltaron un montón de líneas:

    1  1042  1043  1044  1045  1046  1047  1048  1049  1050  1051  1052  1053 
    1     1     1     1     1     1     1     1     1     1     1     1     1 
 1054  1055  1056  1057  1058  1059  1060  1061  1062  1063  1064  1065  1066 
    1     1     1     1     1     1     1     1     1     1     1     1     1
 ...

Parece que R está haciendo algo divertido constdin, ya que este Python imprimirá correctamente todas las líneas en el archivo:

cat file | python -c 'with open("/dev/stdin") as f: print f.read()'

Esta pregunta parece relacionado, pero se trata más de saltar líneas en un archivo CSV con formato incorrecto, mientras que mi entrada es solo una lista de números.

Respuestas a la pregunta(1)

Su respuesta a la pregunta