2015-05-11 35 views
5

Trong R, tôi muốn lưu một lệnh giao diện điều khiển vào một biến. Tôi đã thử với các giải pháp được đề xuất trong liên kết sau nhưng không có may mắn: In R, is it possible to redirect console output to a variable? Ở đây bạn là lệnh Tôi đang sử dụng:Cách lưu trữ đầu ra của bàn điều khiển thành một biến trong R

test <- capture.output(system("pa11y scuolafalconeborsellino.it; 
     perl -e \"print unpack('c', pack('C', $?)), \\$/\""), file = NULL) 

Sản lượng visiblein giao diện điều khiển là:

[4m[36m Welcome to Pa11y[39m[24m [90mWe'll sniff your page for you now. [39m [36m > [39mLoading page... [36m > [39mRunning HTML CodeSniffer... [36m > [39m[31mError: HTML CodeSniffer error[39m

-1

nhưng thử nghiệm biến bị trống.

Cảm ơn bạn!

Trả lời

6

system có một tham số intern mà có thể được sử dụng để lưu đầu ra vào một vector nhân vật:

test <- system("pa11y scuolafalconeborsellino.it; perl -e \"print unpack('c', pack('C', $?)), \\$/\"", 
       intern = TRUE) 

Lưu ý rằng system2 hiện đang ưa thích và system nên tránh trong mã mới.

+0

Bạn có thể cung cấp liên kết về câu cuối cùng của mình không? Tôi tò mò. –

+1

@Pascal Xem 'trợ giúp (" hệ thống ")'. – Roland

+0

Dường như không hoạt động với 'unix2dos' trên Linux. 'system (" unix2dos ... ", intern = TRUE)' trả về 'ký tự (0)' và đầu ra vẫn được in ra bàn điều khiển. – fdetsch

Các vấn đề liên quan