input <- read.csv('stdin') scaled <- data.frame(cbind( scale(input $col1), scale(input $col2), scale(input $col3) )) colnames(scaled)<-colnames(input) write.csv(scaled, stdout()) $ cat input.csv | Rscript process.R "","col1","col2","col3" "1",0.0704684855275962,-1.03924712121725,-0.977681667393651 "2",-0.789247037909078,0.111955258058404,-0.515778657415892 "3",1.38744618172112,-0.395858676172752,1