2012-03-09 20 views
13

Khác với chuyển hướng, chụp toàn bộ phiên, có cách nào để bắt đầu và dừng ghi nhật ký trong phiên R không? Để làm rõ, tôi đang tìm một cái gì đó tương tự như lệnh log using trong Stata.Làm cách nào để đăng nhập phiên R vào một tệp?

+0

Tôi cũng nghĩ rằng đây là câu hỏi ngốc nhất từng được đăng, nhưng không có một "câm-câu hỏi" tag. –

Trả lời

12

Bạn có biết về sink() trong cơ sở R không?

Ngoài ra còn có một số gói đăng nhập trên CRAN: logging, log4r và có thể nhiều hơn nữa.

Cuối cùng, người dùng Emacs có ESS và chế độ bảng điểm của nó. Bạn có thể lưu phiên làm nhật ký và nói chung, phương thức 'làm việc từ tệp và thực thi từ tệp' sẽ tạo nhật ký (một phần, chỉ lệnh) khi bạn làm việc.

+0

sink() là chính xác những gì tôi đang tìm kiếm, nhưng hoàn toàn không có tên. Như tôi đã nói trong bình luận của mình, tôi biết điều này thật ngu ngốc. Cảm ơn! –

4

savehistory(file) sẽ viết toàn bộ lịch sử dưới dạng văn bản thuần túy hoặc nếu bạn đang cố đăng xuất, hãy sử dụng sink(file, split = TRUE).

2

Ngoài chức năng sink bạn cũng có thể xem txtStart và các chức năng liên quan trong gói TeachingDemos hoặc chức năng tương tự trong gói R2HTML (được gửi trước).

2

Vì mục đích hoàn thành câu trả lời sử dụng bồn rửa

# copy the log to a text file 
sink("./logofcode.txt") 
Your R code(s) goes here 
you can use a stored R code as well using source() 
source("./XS_SPEC_CF.R",echo=T, max.deparse.length=1e3) 
sink() 
+0

Vì tôi cần phải làm điều này khá thường xuyên, tôi chuyển đổi cách tiếp cận usct01 thành một chức năng nhỏ: 'source_with_log <- chức năng (r_script, log_file) { chìm (file = log_file) nguồn (r_script, echo = TRUE) chìm() } ' –

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