2010-11-03 35 views
5

Tôi không bao giờ xử lý R, vì vậy tôi đã tự hỏi liệu có ai có thể giới thiệu (hoặc từ kinh nghiệm cá nhân hoặc một số đánh giá/so sánh) mà một số mô-đun tích hợp Perl/R được coi là "thực hành tốt nhất" không? Lý tưởng là một cái gì đó mà bằng cách nào đó có thể đủ điều kiện để sẵn sàng sản xuất.Giao diện R được khuyến nghị cho tích hợp Perl là gì?

Google cho thấy các module khác nhau nhưng tôi không hoàn toàn chắc chắn làm thế nào để đánh giá các tùy chọn, có zero R hoặc thống kê trước đó kinh nghiệm (các câu hỏi xuất thân từ một người đồng nghiệp đã quan tâm trong việc sử dụng R)

Trả lời

7

Có, có vẻ như Statistics::R có lẽ là lựa chọn tốt nhất của bạn. Nó đã được cập nhật gần đây, Brian Cassidy là một nhà phát triển có thẩm quyền, và nó vượt qua các bài kiểm tra khói CPAN của nó.

Ngoài ra còn có Statistics::useR, nó đã được xúc động tương đối gần đây, nhưng điều đó dường như không phù hợp với hệ thống kiểm tra khói của CPAN, khiến tôi hơi lo lắng.

Điều đó nói rằng, tôi đã không sử dụng một trong số này.

+1

Thống kê :: useR chỉ có rất nhiều báo cáo UNKNOWN vì nó không bảo lãnh nếu những thứ R cần thiết không được cài đặt. Nếu không, nó sẽ có rất nhiều đường chuyền, vì chỉ thực sự kiểm tra nó đã chỉ đơn thuần là đảm bảo module có thể được nạp :-) – rafl

2

là gì yêu cầu thực tế của bạn về

  • hệ điều hành mà R đang chạy trên
  • hệ điều hành mà khách hàng Perl đang chạy trên
  • loại truy vấn bạn có kế hoạch: 'đóng hộp' hoặc tương tác

vv pp.

tôi từ lâu đã là một fan hâm mộ của Rserve như một hậu phương không đầu R nhưng tôi không thể nhớ nếu có một khách hàng Perl.

+0

khách hàng Perl: Solaris, Perl 5.8. R chạy: Tôi giả sử Solaris cũng giả định nó được hỗ trợ. Loại truy vấn: tương tác. – DVK

+1

Solaris sẽ hoạt động tốt. Sổ tay 'Inst + Admin' dành cho R có một số ghi chú trên đó. Rserve sẽ cho phép nhiều kết nối đồng thời khi được lưu trữ trên một hệ thống Unix. Tôi nhầm lẫn về 'tương tác' mặc dù: là Perl sử dụng để trình bày một GUI mà sau đó vượt qua các truy vấn trên? –

+0

Các truy vấn (một số trong số đó) sẽ bắt nguồn từ mã Perl; dữ liệu sẽ phân tích như thế nào. Cảm ơn! – DVK

-1

Gần đây tôi đã thêm Statistics::RserveClient vào CPAN. Điều này cho phép các ứng dụng perl tương tác với một máy chủ Rserve (có thể từ xa) thông qua một giao thức nhị phân hướng kết nối. Bạn gửi mã R đến máy chủ dưới dạng chuỗi và kết quả được trả về dưới dạng cấu trúc dữ liệu perl.

Có một số thiếu sót - chúng tôi không hỗ trợ gói dài, hoặc xử lý đúng với cấu trúc không nhất quán nhất định, nhưng mã đang được phát triển tích cực và hoạt động khá độc đáo cho các ứng dụng cơ bản của chúng tôi.

Mã này là GPL, lưu trữ tại https://github.com/djun-kim/Statistics--RserveClient

+0

Tại sao downvote? – DVK

1

Nếu bạn muốn chỉ đọc các file dữ liệu R, mô-đun của tôi Statistics::R::IO sẽ phù hợp với những hóa đơn. Đó là một cài đặt Perl tinh khiết đọc cả tệp RDS và RData.

Bắt đầu với phiên bản 0.4, được phát hành tuần trước, bạn cũng có thể sử dụng nó như một khách hàng Rserve.

1

Tôi vừa phát hành Statistics::NiceR. Nó hỗ trợ khá nhiều kiểu dữ liệu R bao gồm data.frame s.

Đây là bản phát hành sớm, vì vậy tôi muốn nhận phản hồi.Đây là những gì nó trông giống như:

#!/usr/bin/env perl 
use v5.16; 
use Statistics::NiceR; 
use Data::Frame::Rlike; 

my $r = Statistics::NiceR->new; 
my $iris = $r->get('iris'); 

say "Subset of Iris data set"; 
say $iris->subset(sub { # like a SQL WHERE clause 
        ($_->('Sepal.Length') > 6.0) 
       & ($_->('Petal.Width') < 2 ) 
     })->select_rows(0, 34); # grab the first and last rows 

mà kết quả đầu ra

Subset of Iris data set 
----------------------------------------------------------------------- 
     Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
----------------------------------------------------------------------- 
51 7    3.2   4.7   1.4   versicolor 
147 6.3   2.5   5    1.9   virginica 
----------------------------------------------------------------------- 
Các vấn đề liên quan