2011-01-20 29 views
8

Tôi nhận ra rằng tôi ghi đè tệp .R đã mất thời gian để tạo. Có thể xem trong .RData các lệnh mà tôi đã chạy không? Tôi luôn luôn lưu các tập tin của tôi như là kịch bản bên ngoài và chưa bao giờ sử dụng tập tin .RData trước đây vì vậy tôi không thực sự biết phải làm gì và sợ mất nó mãi mãi.Sử dụng tệp .RData

Trả lời

10

Bạn có tệp nào trong thư mục có tên ".Rhistory" không? Tệp này có thể bị ẩn trên các hệ thống Linux. ?

Đọc trang trợ giúp lịch sử

+0

Có - ở đó; cảm ơn vì tiền hỗ trợ. Tôi chỉ cố gắng tải nó, và 'lịch sử (max.show = Inf)' nhưng nó không trở lại đủ xa vì nó là một ngày quá ngắn. – djq

0

Tôi tin rằng .RData là kết quả tương tự bạn sẽ nhận được nếu bạn chạy save.image() - nó tiết kiệm tất cả mọi thứ mà bạn nhìn thấy khi bạn gõ ls() Bạn có thể khôi phục này bằng cách kéo nó vào R Console, hoặc bằng cách chạy lệnh load(".RData")

10

Đây không phải là thực sự là một câu trả lời trực tiếp câu hỏi của bạn, nhưng một số lời khuyên từ The Pragmatic Programmer rằng đã phục vụ tôi thời gian tốt và thời gian một lần nữa để tránh những tình huống như thế này:

Luôn Sử dụng Mã Nguồn Control

Nếu một quá trình là giá trị thời gian phải mất để ghi lại các bước trong một tập tin .R, sau đó nó cần được bảo vệ bởi một hệ thống kiểm soát mã nguồn. Điều này sẽ cho bạn nhiều lợi ích quan trọng, hai trong số đó là:

  • Bạn có thể khôi phục lại hoặc tua lại tập tin của bạn mà cung cấp bảo vệ chống lại vô tình xóa hoặc sửa đổi đó, một giờ sau đó, bắt đầu có vẻ như họ không phải là một tốt ý tưởng sau tất cả.

  • Tác phẩm của bạn được sao lưu ở một hoặc nhiều vị trí. Tốt hơn trên các máy tính khác nhau.

Nếu bạn chưa bao giờ sử dụng kiểm soát mã nguồn trước, sau đây là một số tài nguyên để giúp bạn bắt đầu:

  • Git là một hệ thống tuyệt vời mà có lợi ích của đang được phân phối mà làm cho tập tin của bạn rất khó để mất. gitref.org là một nơi tuyệt vời để tìm hiểu về Git và GitHub cung cấp lưu trữ tuyệt vời cho kho lưu trữ Git ngoài trang web.

  • Mercurial là một hệ thống phân phối tốt khác. Joel Spolsky, một trong những người đồng sáng lập của trang web này, đã viết một hướng dẫn tuyệt vời tại hginit.com. Bitbucket là một nơi tuyệt vời để lưu trữ các kho lưu trữ Mercurial ngoài trang web --- thậm chí chúng còn cho phép các kho lưu trữ riêng tư không giới hạn nếu bạn cần kiểm soát quyền truy cập vào công việc của mình.

Kiểm soát mã nguồn học tập chắc chắn là khoản đầu tư có giá trị nhất mà tôi từng thực hiện trong công cụ lập trình. Nó trả tiền tự trả lại lần đầu tiên một tình huống như thế này xuất hiện.

+0

Tôi đánh giá cao lời khuyên. Tôi đã dabbled với github một vài lần, nhưng không bao giờ khá có hang của nó. Tôi cần bắt đầu sử dụng nó; đặc biệt vì đây là một tệp .R phức tạp mà tôi không chắc chắn tôi có thể tạo lại. – djq

+0

Bạn đang chạy hệ điều hành nào? – aL3xa

+0

Làm việc với Notepad ++ (và NppToR), bạn có thể sử dụng "bản sao lưu" của các tệp được tạo sau mỗi lần lưu tệp. Giải pháp chỉ dành cho Windows. – Marek

2

Nếu bạn đang sử dụng bản phân phối GNU/Linux, có nhiều khả năng bạn đã có bản sao lưu trong thư mục làm việc của bạn.Tất cả bạn phải làm là sử dụng:

  • trong vỏ bash:

    ls -a | grep ~$

  • trong R:

    dir(all.files = TRUE, pattern = "~$")

Lưu ý rằng -aall.files = TRUE là chỉ cần nếu bạn muốn tìm kiếm các tập tin ẩn (bắt đầu bằng .), nếu không bạn có thể dễ dàng bỏ qua nó.

Nhưng bạn chắc chắn nên sử dụng Git hoặc SVN hoặc VCS khác, như Sharpie đã đề xuất. Tôi muốn giới thiệu Git (chủ yếu là vì GitHub). Mặc dù điều đó chỉ hữu ích nếu bạn đang lưu trữ một dự án nguồn mở, nếu không bạn sẽ phải trả tiền cho dịch vụ GitHub (và tôi cho rằng bạn muốn bỏ qua dịch vụ đó, phải không?)

+0

Tôi đang sử dụng máy Mac có OSX - điều đó có đúng với điều này không? – djq

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