R có khả thi cho mã sản xuất (đã triển khai) không


25

Tôi đã đọc một số bài báo nói về các công ty như Google, Facebook và nhiều bài viết khác sử dụng R để nghiên cứu. Kịch bản khác mà tôi đã đọc là các công ty sử dụng R để tạo ra một giải pháp phân tích và sau đó triển khai lại nó bằng ngôn ngữ khác.

Tôi đang cố gắng tìm tài liệu về các công ty sử dụng R cho mã phân tích sản xuất thực tế. Ca sử dụng có thể là một hệ thống đề xuất mà người dùng tương tác thông qua một trang web nhận được phản hồi từ tập lệnh R được thực thi trên máy chủ từ xa. Việc tôi gặp khó khăn trong việc tìm kiếm các báo cáo như vậy khiến tôi tự hỏi liệu nó có phải là không thể chấp nhận được. Nếu vậy tại sao?


1
Đây là một câu hỏi hay. Tôi có linh cảm, nhưng tôi không biết đủ để biến câu trả lời này thành sự thật. Sự nghi ngờ của tôi là bởi vì R được phân phối theo GPL, bất kỳ sản phẩm phái sinh nào sử dụng nó cũng phải là nguồn mở và miễn phí. Điều này có thể có nghĩa là các công ty muốn kiếm lợi nhuận từ phần mềm doanh nghiệp sẽ tránh xa R vì họ sẽ không thể bán sản phẩm.
gregmacfarlane

3
Chỉ khi lợi nhuận của bạn dựa trên việc bán phần mềm --- và thậm chí sau đó, một số người vẫn cung cấp phần mềm như RStudio có mã nguồn trên github.
Dirk Eddelbuettel

Câu trả lời:


16

Đúng vậy Tìm ví dụ tại trang này để biết ví dụ máy chủ RServe R không đầu tuyệt vời (của thành viên R Core Simon Urbanek) liệt kê các triển khai này:

Some projects using Rserve:
   The Dataverse Network Project   Phenyx                     "J" interface
   Nexus BPM                       Taverna                    Bio7
   INTAMAP                         Screensaver HTS LIMS       CRISP
   WWARN

với các liên kết tại trang được tham chiếu ở trên.

"Công nghiệp" có xu hướng khó tính hơn về các chi tiết so với học viện, vì vậy bạn sẽ khó có thể tìm thấy các tuyên bố "chính thức". Nhưng các nhà cung cấp như Revolution Analytics hoặc Oracle ship R và nhân viên bán hàng của họ có thể có câu chuyện cho bạn ....


3
+1 cho nhân viên bán hàng. Giả sử bạn quan tâm đến việc mua thứ gì đó và một số lượng lớn nhân viên bán hàng sẽ đưa ra SSN của CEO họ.
Fomite

1

Thông thường không phải vì R là ngôn ngữ được dịch, mà trung bình chậm hơn nhiều lần so với mã được biên dịch tương đương. Trong khi chuyển đổi chương trình của bạn sang C, Fortran hoặc Java cần một khoản đầu tư đáng kể, mã theo nghĩa đen có thể chạy nhanh hơn 10 - 100 lần so với phiên bản R tương đương. Ngoài ra, R có các công cụ rất hạn chế để thao tác các bộ dữ liệu lớn, đặc biệt là các công cụ yêu cầu các cụm để xử lý hoặc yêu cầu phần cứng đặc biệt. Hơn nữa, hầu hết các triển khai thương mại cần cung cấp giao diện người dùng và phù hợp với các khung hiện có, thường được viết bằng các ngôn ngữ khác. Mặc dù bạn có thể giao tiếp với mã R hiện có từ hầu hết các ngôn ngữ được biên dịch (có các hàm bao ngoài đó), bạn sẽ thấy rằng các thói quen số lõi của bạn sẽ vẫn không nhanh hơn mã R gốc. Vào cuối ngày,


2
> (...) Mã có thể chạy nhanh hơn 10 - 100 lần so với phiên bản R tương đương mà tôi không đồng ý. Hầu như tất cả các thư viện R được viết bằng C hoặc Fortran. R hoạt động chủ yếu như một "chất keo" giữa chúng và hiệu suất kém tương đối của nó không được tính.
Adam Ryczkowski

1
Không đúng. Mặc dù thư viện lõi có thể được viết bằng C, hầu hết các thuật toán cấp cao trong R được viết bằng R. Tối ưu hóa JIT đang thay đổi các quy tắc liên quan đến hiệu suất của các ngôn ngữ được dịch so với các ngôn ngữ được biên dịch, nhưng theo tôi biết thì không có nỗ lực nào những dòng này đang được tiến hành cho R (Python thực sự có một nỗ lực mạnh mẽ: xem PyPy).
user1337732

1
Tôi thường xuyên sử dụng R để làm việc trên các ma trận có kích thước 2 GB.
Jan Galkowski

0

Tôi tin rằng (nhưng điều này dựa trên giai thoại) rằng R có xu hướng được sử dụng nhiều hơn như một ngôn ngữ tạo mẫu bởi các công ty bạn đặt tên ở trên. R vượt trội trong nhiệm vụ phát triển và thử nghiệm nhiều mô hình một cách nhanh chóng và hiệu quả. Tuy nhiên, nó không phù hợp cho các tác vụ cá nhân hóa vì những điều này thường cần diễn ra khi người dùng tương tác với một trang web cụ thể và tôi tin rằng (một lần nữa, đây chủ yếu là giai thoại) rằng các mô hình như vậy có xu hướng được viết lại bằng ngôn ngữ được biên dịch (Java, C, C ++).

Điều đó đang được nói, câu hỏi hay và tôi rất thích được chứng minh là sai về điều này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.