I am trying to write an interactive R script. For example:
try.R:
print("Entr some numbers. >",quote=F)
a = scan(what=double(0))
print a
q()
Now, if I run it on the command line as
$ R --no-save < try.R
It tries to get the stdin from try.R, giving the following error:
> print("Entr some numbers. >",quote=F)
[1] Entr some numbers. >
> a = scan(what=double(0))
1: print a
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
scan() expected 'a real', got 'print'
Execution halted
I tried a few other methods but they all give errors. For example:
$ R CMD BATCH try.R
$ Rscript try.R
So how do I write an R script that works from the *nix shell command line, and can take in interactive input from the user?
Try this:
cat("What's your name? ")
x <- readLines(file("stdin"),1)
print(x)
Hopefully some variant of that works for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With