Ruby như một bàn làm việc thống kê


13

Đây cũng là một câu hỏi liên quan rất nhiều đến Python như một bàn làm việc thống kêexcel như một bàn làm việc thống kê . Tôi biết có một cuộc thảo luận lớn về Ruby so với Python nhưng đây không phải là điểm chính của câu hỏi này. Tôi nghĩ rằng Ruby nhanh hơn Python và có một cú pháp rất tự nhiên có thể giúp tôi hiểu được các số liệu thống kê và cũng có thể là một thay thế tốt cho R (cũng là mối quan tâm của tôi và đã được trích dẫn tại câu hỏi khác của tôi về R ở đây). Chẳng hạn, trên một trong những bài giảng về Google Tech mà tôi đã xem (được trích dẫn trong câu hỏi được liên kết ở đây, người hướng dẫn phàn nàn rằng R chậm trong khi tạo vòng lặp for). Với Ruby cũng có Rails, vì vậy có lẽ cũng có khả năng kết hợp cả hai (Python cũng có Django, nhưng một lần nữa tôi không tham gia vào đó).

Vì vậy, câu hỏi tương tự, nhưng đối với sự quan tâm của tôi, về Ruby:

  • Bạn có thể đề xuất gì nếu tôi muốn sử dụng Ruby làm "bàn làm việc thống kê" để thay thế R, SPSS, Python, Excel, v.v.?

  • Tôi sẽ được và mất gì, dựa trên kinh nghiệm của bạn?

Xin lưu ý Tôi đang xem xét câu hỏi này dựa trên câu hỏi Python và Excel trước đó. Nếu bạn tin rằng việc sử dụng Ruby và Python (hoặc Excel) sẽ có tác động tương tự, thì vui lòng nói như vậy và chỉ ra các đối số của bất kỳ câu hỏi nào trước đó, mục đích của câu hỏi này không phải là sao chép các câu hỏi trước đó cho cùng một câu trả lời. Tuy nhiên, tôi tin rằng có sự khác biệt (chẳng hạn như tốc độ của ngôn ngữ và cú pháp), nhưng tôi cũng đặc biệt muốn biết các đề xuất cho Ruby hoặc nếu có, ví dụ như có sẵn cho nó ít hơn là nói cho Python hoặc Excel. Vì vậy, hãy xem xét các câu trả lời trước cho những câu hỏi rất giống nhau nhưng đối với ngôn ngữ / chương trình khác.

Chỉnh sửa: Chỉ để làm nổi bật vì các câu trả lời dường như đang diễn ra theo cách khác, câu trả lời mà tôi đang tìm kiếm là một câu trả lời được chọn trong câu hỏi Python mà tôi đã liên kết. Đây không phải là về việc học thống kê cùng với Ruby. Tôi đã làm điểm cho câu hỏi học thống kê với R . Nếu nó có thể là tuyệt vời, nhưng tôi không mong đợi để học thống kê với Ruby cùng một lúc. Bạn có thể giả định nền thống kê cho câu hỏi này.


cảm ơn đã chỉnh sửa! Tôi nhận thấy lời cảm ơn của tôi đã bị xóa sổ. Có phải là một ý tưởng tồi để nói cảm ơn bạn về các câu hỏi? (Chỉ muốn xác nhận, không có vấn đề gì về phía tôi - bình luận một chút về chủ đề của câu hỏi, nhưng tôi không muốn bắt đầu một câu hỏi về meta chỉ vì điều này).
Oeufcoque Penteano

1
Ý kiến ​​khác nhau một chút. Một câu "Cảm ơn" ngắn gọn ở cuối câu hỏi là phổ biến, nhưng nhiều hơn thế thường được coi là một sự xao lãng không cần thiết. Bạn có thể nhanh chóng tìm thấy hướng dẫn trên trang meta toàn trang, chẳng hạn như trang SE FAQ .
whuber

Câu trả lời:


9

Tôi đang sử dụng Ruby + R.

Bạn có thể đọc bài viết: RinRuby: Truy cập Trình thông dịch R từ Pure Ruby

http://www.jstatsoft.org/v29/i04/apers

và blog này:

http://rubyforsellectificresearch.blogspot.com

http://sciruby.com /

(tác giả của sciruby cũng là người dùng R.)


Cảm ơn bạn, câu trả lời của bạn đi theo hướng mà tôi đang tìm kiếm. Tôi nhận thấy rằng các tài liệu tham khảo có từ năm 2009 và 2011, tôi tự hỏi liệu có nhiều tài liệu gần đây về viên ruby ​​đã cho này là một ngôn ngữ mới đáng kể và luôn phát triển không? Tuy nhiên, tôi đoán đây là một điểm khởi đầu tốt đẹp. Rất vui khi blog xem xét ruby ​​cho nghiên cứu khoa học, đó chính xác là trường hợp của tôi.
Oeufcoque Penteano

Xin chào, tôi yêu ruby ​​và đường ray. Tôi cũng yêu R. Bạn có thể tìm thấy rubygems Tăng ngày càng nhiều. rubygems.org/stats R cũng vậy. 2003, R cran là 200, bây giờ là 3600+ !!! năm 2011, đá quý Ruby là 28000, bây giờ là đá quý 36874! Bạn có thể thưởng thức Ruby + R: D
ouyang

Điểm tuyệt vời trên đá quý ruby, tôi quên mất những thứ đó. Có lẽ những người khác có thể đề xuất một vài viên đá quý ruby ​​về vấn đề sử dụng Ruby như một bàn làm việc nổi tiếng để làm việc và rất mạnh mẽ? Cảm ơn vì đã thêm một câu trả lời về những gì tôi đang tìm kiếm một lần nữa.
Oeufcoque Penteano

4

TUỔI (TRƯỚC EDIT) TRẢ LỜI:

Nếu bạn nghĩ rằng bạn sẽ học thống kê bằng cách tự lập trình mọi thứ, tôi sẽ nói rằng bạn đang ở trong một thời gian dài đầy gỡ lỗi và không học thống kê. Ngoài ra, bạn sẽ cần một ngôn ngữ như R để kiểm tra câu trả lời của bạn bằng mọi cách.

Tôi nghĩ user765195 có một điểm về việc R khó gỡ lỗi hơn nhiều ngôn ngữ khác, điều này quan trọng, nhưng "tệ nhất"? Tôi không nghĩ vậy.

BIÊN TẬP:

Vì vậy, nếu tôi có thể tóm tắt EDIT của bạn: cho rằng bạn đã thực hiện thống kê và cho rằng bạn thực sự muốn sử dụng Ruby để làm điều đó thay vì một chương trình thống kê thực tế (R, gretl, SAS, v.v.), làm thế nào bạn có thể làm cho cuộc sống của bạn dễ dàng hơn . Có đúng không?

Tôi không thể đưa ra câu trả lời cho Ruby, nhưng tôi nghĩ câu hỏi chung cũng nên được giải quyết. Đặc biệt là khi bạn đang quay lại các cảnh báo khác của cùng một câu hỏi: "Tôi muốn sử dụng Python / perl / java / Clojure / C / bất cứ điều gì để làm thống kê".

Tôi nghĩ rằng câu trả lời sẽ luôn là: "tại sao sử dụng một công cụ tổng quát, nguyên thủy (thống kê thông minh) để thực hiện một công việc mà một công cụ chuyên dụng làm tốt hơn nhiều?" Và tôi có thể thấy sáu câu trả lời cơ bản:

  1. Tôi chỉ đơn giản là không muốn học một ngôn ngữ khác và vì tôi thành thạo Python / Ruby / Excel / Java, tôi khăng khăng sử dụng ngôn ngữ đó.

  2. Số liệu thống kê tôi muốn thực hiện phải phù hợp với một dự án lớn hơn (như công cụ dựa trên web) và các công cụ được sử dụng bởi dự án này không hoạt động tốt với các công cụ bên ngoài, vì vậy tôi phải sử dụng Python / Ruby / Java. (Hoặc có thể là vấn đề triển khai một ứng dụng và không thể cố gắng triển khai các tệp thực thi tùy ý.)

  3. Tôi sẽ sử dụng một công cụ chuyên dụng, nhưng những công cụ tôi có quyền truy cập (giả sử R, miễn phí) quá chậm hoặc không thể xử lý các bộ dữ liệu lớn / yêu cầu thời gian thực cho dự án của tôi.

  4. Chủ lao động / khách hàng của tôi khẳng định tôi sử dụng ngôn ngữ đa năng Python / Ruby / Excel / Java. Tôi không có lựa chọn, và đang tìm cách ít đau đớn nhất để làm theo yêu cầu này.

  5. Theo "thống kê", ý tôi là những thứ rất đơn giản như tìm phương tiện / trung vị, phương sai, v.v ... Tại sao lại kéo gói chuyên dụng có thể tính toán các mô hình hiệu ứng hỗn hợp qua MCMC khi tất cả những gì tôi muốn làm là tính toán những điểm nào nằm ngoài 1-sigma cách xa trung bình?

  6. Tôi đang làm một cái gì đó rất chuyên biệt, và thậm chí các gói thống kê như R không có gói / thư viện / chức năng. Nó không chỉ tiên tiến, mà còn đòi hỏi hiệu năng siêu cao, và tôi cần phải làm lại từ đầu. (Hoặc có thể sử dụng các thư viện tôi đã phát triển bằng ngôn ngữ X.)

Theo tôi, trả lời 1 không phải là tốt, trả lời 2 có thể là hợp pháp, nhưng có thể có cách giải quyết mà bạn không biết, trả lời 3 có nhiều khả năng là hợp pháp nhưng cũng có thể có cách giải quyết và đối với ba trả lời khác , hy vọng bạn sẽ nhận được câu trả lời tốt hơn của tôi.


Mục tiêu trong câu hỏi này không phải là tìm hiểu số liệu thống kê cùng với ruby, vui lòng xem bản chỉnh sửa, nhưng cảm ơn bạn đã suy nghĩ và xin lỗi nếu câu hỏi gây hiểu lầm Tôi hy vọng nó đã rõ ràng trong bản chỉnh sửa.
Oeufcoque Penteano

Cảm ơn bạn, bạn đã hiểu đúng . Giả định về kiến thức thống kê là tốt, và bây giờ tôi đang tìm kiếm các thư viện để tìm hiểu làm thế nào để làm điều đó trong Ruby, chẳng hạn như nó được đề xuất cho Python. Tôi đồng ý với bạn, nhiều động lực là có thể, nhưng một lần nữa (chỉ vì lợi ích của những độc giả tiếp theo đi qua trang này), câu trả lời dự kiến là một câu hỏi gợi ý các thư viện và như nó đã được đề cập trong câu hỏi Python. Tôi tin rằng nếu có không gian cho nhiều ý kiến ​​khác nhau về việc sử dụng công cụ thống kê nào, thì cũng cần có kiến ​​thức về chúng trên cộng đồng này. Cảm ơn!
Oeufcoque Penteano

+1. Nhiều khả năng, chúng ta đang nói về các từ khác nhau đánh vần "thống kê". Số liệu thống kê sử dụng trang web có thể dễ dàng lấy từ nhật ký bằng Python hoặc Ruby là một động vật khác với việc phải lập trình mô hình Cox hoặc phương sai của công cụ ước tính tỷ lệ dựa trên khảo sát phân tầng hai giai đoạn bằng Ruby. (Người ta phải tuyệt vọng theo các câu trả lời 2, 3 và 4 của bạn để thậm chí nghĩ về Ruby như ngôn ngữ được lựa chọn.) Người ta có thể bổ sung số liệu thống kê học tập của mình bằng các mô phỏng trong đó ngôn ngữ nào thuận tiện nhất, và sau đó 1 là một câu trả lời hợp lệ.
StasK

@OeufcoquePenteano: Cuối cùng, tôi nghĩ vấn đề của tôi sôi lên là "bàn làm việc". Câu trả lời chiến thắng trong chuỗi Python thực sự khá spartan. Tất cả các tài nguyên được liệt kê kết hợp thậm chí không khớp với cơ sở R, ít suy nghĩ hơn về các gói R. Nếu bạn phải thực hiện một số thống kê trong Python, bạn có một vài tùy chọn hạn chế, nhưng người ta không nên nhầm lẫn và nghĩ rằng Python tạo ra một "bàn làm việc" thống kê tốt. Tôi hy vọng bạn nhận được một số câu trả lời, nhưng Ruby thậm chí còn tồi tệ hơn Python.
Wayne

@Wayne, thế là tốt. Tôi không có kế hoạch trao đổi R cho Ruby, Python hoặc Excel. Nhưng tôi tò mò muốn biết Ruby cung cấp những gì. Có thể một vài viên đá quý từ Ruby tốt hơn những quả trứng nhất định (đó có phải là quả trứng mà chúng gọi bằng Python không? Không chắc chắn) và ngược lại. Có lẽ Excel tốt hơn cho vài thứ. Chẳng hạn, tôi nghĩ Excel có thể giúp thực hiện một số phân tích rất hời hợt và sau đó để đi sâu vào R hoặc công cụ khác. Vì vậy, đó không phải là vấn đề 'chọn một người', nhưng hãy biết điều gì là tốt nhất của mỗi thế giới và biết họ, chọn thế giới phù hợp hơn cho vấn đề đã cho. Cảm ơn lời khuyên của bạn.
Oeufcoque Penteano

-1

Một vài suy nghĩ ngẫu nhiên:

  • Bạn đề cập rằng bạn đang tìm kiếm một bàn làm việc để tìm hiểu số liệu thống kê. IMHO, không có nền tảng nào bạn đề cập sẽ tốt cho việc học thống kê. Sẽ có quá nhiều sự xao lãng, học cú pháp và ngữ nghĩa của ngôn ngữ cụ thể. Nếu bạn muốn tìm hiểu số liệu thống kê, chỉ cần chọn một cuốn sách (tôi rất khuyến khích EDA của Tukey) và có lẽ là một máy tính. Học một ngôn ngữ trên các khái niệm thống kê là một sự phân tâm không cần thiết.
  • Người phàn nàn về các vòng lặp chậm trong R đang phản bội sự thiếu hiểu biết của mình: các vòng lặp không phải là một cấu trúc tự nhiên trong mọi ngôn ngữ. Chúng chậm trong hầu hết các ngôn ngữ lập trình chức năng. Thay thế là ứng dụng chức năng và thường nhanh.
  • Khi nói đến ngôn ngữ lập trình, tốc độ nên là mối quan tâm cuối cùng của bạn. Một vấn đề quan trọng hơn nhiều là việc dễ dàng gỡ lỗi mã.
  • Khi nói đến gỡ lỗi, R có lẽ là ngôn ngữ lập trình tồi tệ nhất mà tôi biết. Đôi khi không thể gỡ lỗi mã. Trên hết, tài liệu cho các gói hiện có thường được viết rất kém. Nhìn chung, lời khuyên của tôi là, nếu bạn có thể tránh R, hãy làm điều đó.
  • Tôi chỉ quen thuộc với nội dung thống kê của Python. Tôi hiểu rằng NumPy không thực sự được viết một cách chuyên nghiệp và không xem xét các vấn đề về số.
  • Bạn đã xem xét Haskell? Đó chắc chắn là ngôn ngữ lập trình tốt nhất hiện có.

Xin chào! Cảm ơn quan điểm của bạn. Tôi rất vui khi thấy một ý kiến ​​khác chống lại R. Tôi cũng sẽ xem xét những gì bạn đang nói, vì tôi cũng đang xem xét các công cụ khác không được đề cập ở đây. Có lẽ câu hỏi của tôi đã gây hiểu nhầm. Tôi vẫn đang học thống kê, và thực tế câu hỏi của tôi về R là về vấn đề này, nhưng đối với Ruby thì đó là một điều khác biệt. Tôi tò mò muốn xem những gì có sẵn cho ruby ​​như một bàn làm việc như nó có sẵn cho python và excel. Tôi cũng sẽ xem xét tìm hiểu về Haskell, nhưng nếu bạn có bất kỳ đề xuất nào liên quan đến Ruby, tôi cũng sẽ đánh giá cao! Cảm ơn bạn!
Oeufcoque Penteano

Haskell cho thống kê? Nói về một sự xao lãng không cần thiết ...
Phillip Cloud

-1, áp dụng để gỡ lỗi mã trong r?
mpiktas

Tôi nên lưu ý rằng chỉ có đoạn về gỡ lỗi trong R là không đúng trong câu trả lời này. Mọi thứ khác có vẻ xứng đáng với một upvote. Ngoại trừ Haskell, điều mà tôi không có chút kinh nghiệm nào. Nhưng lưu ý về gỡ lỗi là tại chỗ.
mpiktas

1
@cpcloud: Ngôn ngữ toán học và thống kê là lambda-compus. Haskell không là gì ngoài lambda-compus. Các cấu trúc toán học được thể hiện bằng Haskell theo cách chính xác giống như chúng được viết trong một cuốn sách toán học. Do đó, chi phí từ ngôn ngữ gần như bằng không. Trên thực tế, cuốn sách "Con đường Haskell đến logic" dạy toán học bằng cách sử dụng Haskell. Tôi đề nghị bạn hãy xem cuốn sách đó.
dùng765195
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.