Tôi đang cố gắng viết một tập lệnh R tương tác. Ví dụ:Cách đưa đầu vào tương tác vào tập lệnh được chạy từ dòng lệnh
try.R:
print("Entr some numbers. >",quote=F)
a = scan(what=double(0))
print a
q()
Bây giờ, nếu tôi chạy nó trên dòng lệnh như
$ R --no-save < try.R
Nó cố gắng để có được những stdin từ try.R, đưa ra sau lỗi:
> 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
Tôi đã thử một vài phương pháp khác nhưng tất cả đều đưa ra lỗi. Ví dụ:
$ R CMD BATCH try.R
$ Rscript try.R
Vậy làm cách nào để viết tập lệnh R hoạt động từ dòng lệnh * nix shell và có thể lấy đầu vào tương tác từ người dùng?
IIRC chỉ 'readlines (n = 1) 'nên làm quá. –
@Dirk Eddelbuettel: có vẻ như không hoạt động. – highBandWidth
Rất tiếc, tôi rất tiếc. Tôi tình cờ đã sử dụng 'readLines()' mà không có đối số tập tin, mặc định là stdin, cùng một lúc - xem r-help vào sáng nay. –