2011-09-21 25 views
12

Tôi muốn để có thể viết nội dung của một file trợ giúp trong R vào một tập tin từ bên trong R. Các công trình sau đây từ dòng lệnh:Làm thế nào để viết nội dung trợ giúp cho một tệp từ bên trong R?

  • R --slave -e 'library(MASS); help(survey)' > survey.txt
    • Lệnh này viết các tập tin trợ giúp cho các tập tin dữ liệu khảo sát
    • --slave da cả dấu nhắc ban đầu và các lệnh nhập từ kết quả đầu ra
    • -e '...' gửi lệnh để R
    • > survey.txt viết đầu ra của R vào file

Tuy nhiên, điều này dường như không làm việc:

library(MASS) 
sink("survey.txt") 
help(survey) 
sink() 
  • Làm thế nào tôi có thể lưu nội dung của một file help một tập tin từ bên trong R?
+0

Bạn sẽ có thể làm tốt hơn thế này .R chính nó bây giờ là xử lý đánh dấu Rd, do đó, ** phải ** được phân tích cú pháp và chuyển đổi trong 'công cụ' và gói cơ sở R khác. –

+1

Liên quan đến [Trang trợ giúp R ​​làm đối tượng] (http://stackoverflow.com/questions/8918753/r-help-page-as-object). –

Trả lời

15

Có vẻ như hai chức năng bạn cần là tools:::Rd2txtutils:::.getHelpFile. Thao tác này sẽ in tệp trợ giúp vào bảng điều khiển, nhưng bạn có thể cần phải fiddle với các đối số để làm cho nó ghi vào một tệp theo cách bạn muốn.

Ví dụ:

hs <- help(survey) 
tools:::Rd2txt(utils:::.getHelpFile(as.character(hs))) 

Kể từ khi các chức năng này hiện chưa xuất khẩu, tôi sẽ không khuyên bạn nên dựa vào chúng cho bất kỳ mã sản xuất. Nó sẽ là tốt hơn để sử dụng chúng như là một hướng dẫn để tạo ra thực hiện ổn định của riêng bạn.

3

Trong khi hướng dẫn của Joshua hoạt động hoàn hảo, tôi tình cờ gặp một chiến lược khác để lưu một tệp trợ giúp R; Vì vậy, tôi nghĩ rằng tôi muốn chia sẻ nó. Nó hoạt động trên máy tính của tôi (Ubuntu), nơi less là máy nhắn tin R. Về cơ bản nó chỉ liên quan đến việc lưu tệp từ bên trong less.

  • help(survey)
  • Sau đó làm theo these instructions để lưu less đệm nộp
    • tức, loại g|$tee survey.txt
      • g đi vào phía trên cùng của đệm ít nếu bạn chưa có
      • | văn bản đường ống giữa phạm vi bắt đầu tại điểm đánh dấu hiện tại
      • và kết thúc tại $ mà chỉ cuối của bộ đệm
      • đến lệnh shell tee cho phép tiêu chuẩn ra phải được gửi vào một tập tin
Các vấn đề liên quan