2012-02-21 39 views
5

Tôi muốn tìm vị trí của tệp .R tập lệnh được sử dụng để tính toán trong R.Tập tin .R ở đâu trên PC?

Tôi biết rằng bằng cách nhập hàm đối tượng, tôi sẽ nhận được mã đang chạy và sau đó tôi có thể sao chép và chỉnh sửa và lưu nó dưới dạng tệp tập lệnh mới và sử dụng nó.

Lý do cho hỏi để tìm tập tin foo.R là

  1. Curiosity
  2. biết thuật toán được sử dụng trong tính toán số
  3. More immedietly là gì, hàm từ stats gói tôi đang sử dụng, đang chạy kết quả cho hai đối số chứ không phải các đối số khác và phải tìm ra cách để làm cho nó hoạt động. Lỗi được hiển thị bởi R ngụ ý rằng có thể có một số sửa đổi cần thiết trong tệp tập lệnh.

Tôi đang tìm câu trả lời chung hơn, nếu có thể.

Chỉnh sửa: Theo nhận xét cho đến thời điểm này, đây là mã để tính phổ của chuỗi thời gian bằng các phương pháp tự động. Dữ liệu đầu vào là một chuỗi đơn biến.

x = ts(data) 
spec.ar(x, method = "yule-walker") 1 
spec.ar(x, method = "burg")  2 

lệnh 1 đang chạy ok. lệnh 2 đưa ra lỗi sau.

Error in ar.burg.default(x, aic = aic, order.max = order.max, na.action = na.action, : 
    Burg's algorithm only implemented for univariate series 

Tôi đã thử chỉ định tất cả các đối số chính xác như na.action = na.fail, order.max = NULL etc nhưng thư giống nhau. Vui lòng đề xuất các giải pháp khả thi.

P.S. (Câu hỏi này được đăng sau khi tìm kiếm thư mục thư viện nơi R được cài đặt và tệp zip đi kèm với gói, sách hướng dẫn và tệp mở .rdb, .rdx)

+0

Cách tìm tệp .R * * tùy thuộc vào chi tiết cụ thể của gói bạn đang sử dụng (ví dụ: bạn đã cài đặt gói đó như thế nào). –

+0

Tôi đã cài đặt chúng bằng trình quản lý cài đặt trong R và đang sử dụng các gói có liên quan đến phân tích chuỗi thời gian. Tôi đã không tìm thấy các tập tin .RR script trong khá một vài mà tôi đã kiểm tra ngay cả với các tập tin zip hoặc tar mà đi kèm với gói CRAN trực tuyến. – Anusha

+1

Đối với (3), có thể _very_ không thể giải quyết lỗi từ một hàm trong gói ** stats ** (là một phần của phân phối R cơ bản, không phải là phần bổ sung) yêu cầu sửa đổi mã nguồn. Nhưng đó có thể là giải quyết tốt hơn trong một câu hỏi riêng biệt, với các thông tin cụ thể được cung cấp. – joran

Trả lời

9

Xem Câu hỏi thường gặp 7.40 Làm cách nào để truy cập mã nguồn cho một chức năng?

Trong hầu hết các trường hợp, nhập tên hàm sẽ in mã nguồn . Tuy nhiên, mã đôi khi được ẩn trong một không gian tên hoặc được biên dịch. Để biết tổng quan đầy đủ về cách truy cập mã nguồn, hãy xem Uwe Ligges (2006), “Bàn trợ giúp: Truy cập nguồn”, R Tin tức, 6/4, 43–45 (http: //cran.r-project .org/doc/Rnews/Rnews_2006-4.pdf).

3

.libPaths() sẽ cho bạn biết tất cả các vị trí thư viện hiện tại của bạn. Có thể có nhiều hơn một cài đặt của một gói nếu có hai thư viện nhưng chỉ có một thư viện trong thư viện đầu tiên sẽ được sử dụng. Trừ khi bạn cung cấp mã và thông báo lỗi chính xác, không có khả năng ai cũng có thể đưa ra lời khuyên tốt hơn.

+0

Từ máy tính cửa sổ, bạn có thể tự động hóa đề xuất của DWin và mở tất cả các khu vực các thư viện được lưu trữ với: 'lapply (seq_along (.libPaths()), hàm (i) shell.exec (.libPaths() [i])) ' –

3

Tôi nghĩ rằng bạn đang yêu cầu xem những gì tôi gọi là mã nguồn cho một hàm trong một gói. Nếu vậy, cách tôi làm như sau, đã làm việc thành công cho tôi trong ba lần tôi đã thử. Tôi giữ các hướng dẫn này hữu ích ở một vài nơi và chỉ cần sao chép và dán chúng tại đây:

Để xem mã nguồn cho một hàm trong Chương trình R tải xuống gói chứa hàm. Cụ thể, tải xuống tệp kết thúc bằng "tar.gz". Đây là một tập tin nén. Mở rộng tệp nén bằng cách sử dụng, ví dụ: "WinZip". Bây giờ bạn cần mở tập tin chưa nén kết thúc bằng ".tar". Tải xuống phần mềm miễn phí "7-Zip". Nhấp vào tập tin "7zFM.exe" và điều hướng đến thư mục chứa tệp ".tar". Bạn có thể trích xuất nội dung của tệp ".tar" đó vào một thư mục mới. Nội dung bao gồm các tệp R hiển thị mã nguồn cho các hàm trong gói R.

EDIT:

Hôm nay (ngày 8 tháng 7 năm 2012) Tôi có thể mở 'tar.Tệp gz 'sử dụng phiên bản mới nhất của' WinZIP 'và có thể sao chép nội dung (mã nguồn) từ đó mà không phải sử dụng' 7-Zip '.

EDIT:

Hôm nay (ngày 19 tháng 1 năm 2013) tôi đã xem mã nguồn cho các chức năng trong cơ sở R bằng cách tải về các tập tin 'R-2.15.2.tar.gz'

Để tải mà hãy truy cập trang web http://cran.at.r-project.org/ và nhấp vào tệp đó trong dòng này:

"Bản phát hành mới nhất (2012-10-26, Bí quyết hoặc Điều trị): R-2.15.2.tar.gz, hãy đọc tính năng mới trong phiên bản mới nhất."

Giải nén tệp. WinZip sẽ hoạt động, hoặc nó đã làm cho tôi. Sau đó, tìm kiếm trên máy tính của bạn cho readtable.r hoặc một hàm R cơ sở khác.

agstudy lưu ý ở đây https://stackoverflow.com/questions/14417214/source-file-for-r-function rằng mã nguồn cho read.csv nằm trong file readtable.r, vì vậy tôi không mong đợi mọi chức năng cơ sở R có tập tin riêng của mình.

+0

+1 Phương pháp này giúp tìm ra một số chức năng. Cảm ơn. – Anusha

5

Khi R cài đặt gói, nó sẽ đánh giá tất cả các tệp nguồn ".R" và lưu lại chúng thành định dạng nhị phân để tải nhanh hơn. Do đó bạn thường không thể dễ dàng tìm thấy tệp nguồn.

Như đã được đề xuất ở nơi khác, bạn có thể chỉ cần nhập tên hàm và xem mã nguồn hoặc tải xuống gói nguồn và tìm nguồn ở đó.

library(plyr) 
ddply # prints the source for ddply 

# See the content of the R directory for plyr, 
# but it's only binary files: 
dir(file.path(find.package("plyr"), "R")) 
# [1] "plyr"  "plyr.rdb" "plyr.rdx" 

# Get the source for the package: 
download.packages("plyr", "~", type="source") 

# ...then unpack and inspect the R directory... 
Các vấn đề liên quan