[R] quick question : interpolating file name in pipe command

David Winsemius dwinsemius at comcast.net
Thu May 5 23:50:11 CEST 2011


On May 5, 2011, at 5:15 PM, Abhishek Pratap wrote:

> Hi Guys
>
> I am trying to read a bunch of files in the loop but pipe function
> which I use to cut few columns is somehow unable to interpolate the
> file variable.
>
>
> eg:
>
>> file="check.txt"
>> data  <- read.table(pipe("cut -f 2,3 file"), sep="\t",  
>> col.names=c('pos','cov') )

I do not see where you allowed the substitution of the character  
vector file into the pipe argument.
Perhaps:

data  <- read.table(pipe(paste("cut -f 2,3", file)), sep="\t",  
col.names=c('pos','cov') )

(Bad practice to name variables "file".)

I didn't use tabs but rather spaces:

check.txt was a single line file

ttt tt rr ttt

 > data  <- read.table(pipe(paste("cut -f 2,3", file)),   
col.names=c('pos','cov') )
 > data
   pos cov
1 ttt  tt
2  rr ttt

> cut: file: No such file or directory
>
> how can I pass variable file to pipe so that it can be interpolated.
>
> Thanks!
> -Abhi
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list