Tôi đang sử dụng R để chạy mô phỏng bằng cách sử dụng dữ liệu chuỗi thời gian. Tôi đã sử dụng mảng để lưu trữ dữ liệu nhưng tôi cần một giải pháp ít bộ nhớ để lưu trữ dữ liệu ở các bước trung gian để ghi lại quá trình. Tôi không phải là lập trình viên nên tôi đang tìm kiếm một thứ tương đối dễ cài đặt trên nhiều nền tảng nếu có thể (Windows, Mac, Linux). Tôi cũng cần có khả năng gọi trực tiếp cơ sở dữ liệu từ R vì việc học một ngôn ngữ khác hiện không khả thi. Lý tưởng nhất, tôi muốn để có thể đọc và viết thường xuyên vào cơ sở dữ liệu trong một cách tương tự như một mảng mặc dù tôi không biết nếu đó là thực tế. Tôi sẽ sẵn sàng hy sinh tốc độ để dễ sử dụng nhưng tôi sẵn sàng làm việc để tìm hiểu các giải pháp nguồn mở. Mọi lơi đê nghị đêu nên được đanh gia cao.Đề xuất cho cơ sở dữ liệu với R
Trả lời
Tôi cũng cần để có thể trực tiếp gọi cơ sở dữ liệu từ R
Tôi đề nghị thiết lập MySQL với giao diện RMySQL.
Khi kết nối DB đang mở, bạn có thể truy vấn cơ sở dữ liệu và lấy dữ liệu vào R, ví dụ:
# Run an SQL statement by creating first a resultSet object
rs <- dbSendQuery(con, statement = paste(
"SELECT w.laser_id, w.wavelength, p.cut_off",
"FROM WL w, PURGE P",
"WHERE w.laser_id = p.laser_id",
"SORT BY w.laser_id")
# we now fetch records from the resultSet into a data.frame
data <- fetch(rs, n = -1) # extract all rows
RMySQL: R giao diện cơ sở dữ liệu MySQL
Cơ sở dữ liệu giao diện và trình điều khiển MySQL cho R. Phiên bản này tuân thủ định nghĩa giao diện cơ sở dữ liệu là được triển khai trong gói DBI 0.2-2.
Cơ sở dữ liệu MySQL:
Sẵn sàng cho tất cả các nền tảng mà bạn trích dẫn trong các câu hỏi, và nhiều hơn nữa, tải here.
bình luận nhanh:
- R là tốt lúc này, như một ngôn ngữ cho lập trình với dữ liệu, có rất nhiều giao diện
- Có cả một manual dành cho việc nhập dữ liệu/xuất khẩu, và nó có một section on relational databases, vì vậy hãy bắt đầu ở đó.
- R có gói DBI được sử dụng rộng rãi, cung cấp giao diện thống nhất cho nhiều chương trình phụ trợ, trong đó có SQLite, MySQL, PostgreSQL, Oracle, ... Sử dụng, có thể với RSQLite để tải nhanh. Bạn vẫn có thể chuyển đổi các chương trình phụ trợ sau đó.
- Ngoài ra còn có RODBC nhưng tôi thấy ODBC tẻ nhạt khi làm việc cùng.
- R cũng có một biến thể chuyên biệt trong gói TSdbi của Paul Gilbert, mang đến sự trừu tượng hóa của DBI cho cơ sở dữ liệu thời gian. Nó cũng hỗ trợ nhiều backend.
- Gói data.table được viết cho điều này và rất nhanh về lập chỉ mục và tổng hợp.
Cảm ơn bạn vì tài nguyên. Cho đến nay, SQLite có vẻ thích hợp nhất cho trình độ kỹ năng của tôi. – ProbablePattern
Hmm, có vẻ như DBI đã chết vào năm 2009. Mọi thứ mới hơn? –
@SteveBennett: Không, [DBI] (http://cran.r-project.org/web/packages/DBI/index.html) vẫn còn hoạt động và hiện tại, nhưng _no sửa lỗi đã được thực hiện từ năm 2009_ khác. Và DBI chỉ là một giao diện như tôi đã viết. –
Bạn có thực sự cần giải pháp cơ sở dữ liệu cho mục đích của mình không? Bạn nói rằng bạn muốn có một "giải pháp để lưu trữ dữ liệu ở các bước trung gian" - làm thế nào về việc đơn giản lưu mảng dữ liệu vào đĩa tại các điểm thời gian cần thiết?
Chỉnh sửa: để có thể truy xuất thông tin, bạn có thể nhúng thông tin meta, ví dụ: chỉ mục dùng thử và/hoặc dấu thời gian, trong tên tệp. Sau đó, bạn có thể định vị và tải tệp bằng tên tệp chính xác.
Tôi tương đối mới đối với R nhưng có vẻ như điều này sẽ tạo ra hàng trăm tệp và làm cho việc kiểm toán trở nên khó khăn khi tôi hoàn thành. Mỗi lần chạy mô phỏng yêu cầu tạo một vài mảng ba chiều và tôi chỉ có thể chạy khoảng 5.000 mô phỏng cùng một lúc. Mục tiêu hiện tại của tôi là chạy 50.000 lượt. Nếu có một cách tốt hơn để lưu trữ mảng ba chiều vào đĩa và đọc kết quả của họ sau này một cách có hệ thống, tôi chắc chắn sẽ đánh giá cao sự hướng dẫn. – ProbablePattern
Bạn cũng có thể xem gói ff.
- 1. Cơ sở dữ liệu xuất MSSQL với dữ liệu
- 2. Mongoose: Lược đồ cơ sở dữ liệu được đề xuất
- 3. Vấn đề cơ sở dữ liệu Flask
- 4. Phế liệu: Đề xuất cho nhiều lần trả lại/mục vào cơ sở dữ liệu
- 5. Đề xuất cho cơ sở dữ liệu trong bộ nhớ so với cấu trúc dữ liệu an toàn của luồng
- 6. Đề xuất mẫu thiết kế cho văn bản cho cơ sở dữ liệu SQLite trong Android
- 7. Di chuyển cơ sở dữ liệu MySQL phát triển sang cơ sở dữ liệu sản xuất
- 8. Thiết kế cơ sở dữ liệu SQL được đề xuất cho thẻ hoặc gắn thẻ
- 9. Kích thước cột cơ sở dữ liệu được đề xuất cho tên là gì?
- 10. PhoneGap/Apache Cordova có đề xuất API cho cơ sở dữ liệu SQLite được mã hóa
- 11. Cơ sở dữ liệu nhúng cho .net
- 12. Mẫu nhà máy cơ sở dữ liệu với nhiều cơ sở dữ liệu
- 13. trong cơ sở dữ liệu postgresql qua r
- 14. Là chủ đề cơ sở dữ liệu Sqlite an toàn
- 15. Bỏ phiếu dài với dữ liệu cơ sở dữ liệu?
- 16. neo4j - đồ thị cơ sở dữ liệu cùng với một cơ sở dữ liệu quan hệ?
- 17. Cơ sở dữ liệu cho Python Twisted
- 18. API dự đoán của Google so với Cơ sở dữ liệu biểu đồ cho đề xuất được tạo?
- 19. Cơ sở dữ liệu sản xuất và phát triển?
- 20. vấn đề với nhận dữ liệu từ cơ sở dữ liệu
- 21. Tài liệu cơ sở dữ liệu Postgresql
- 22. Tạo cơ sở dữ liệu với JPA?
- 23. Đề xuất trình duyệt cơ sở dữ liệu toàn cầu, miễn phí?
- 24. Oracle xuất SQL của cấu trúc cơ sở dữ liệu
- 25. Chia nhỏ tệp mysqldump với nhiều cơ sở dữ liệu, theo cơ sở dữ liệu
- 26. Truy cập Meteor cơ sở dữ liệu sản xuất
- 27. cơ sở dữ liệu xuất nhập khẩu Android
- 28. Heroku với Cơ sở dữ liệu H2
- 29. Xuất mô-đun cơ sở dữ liệu mongoose
- 30. Đường ray 3. Tạo cơ sở dữ liệu sản xuất
Đối với một người dùng, RSQLite dễ thiết lập hơn và khá nhanh. –
Cảm ơn bạn về các ví dụ mã Bakkal. Điều này sẽ được sử dụng cho một người dùng. Có một lợi thế để sử dụng MySQL hơn là SQLite cho ứng dụng này? – ProbablePattern
Bạn có thể sử dụng DB đơn giản nhất cho tác vụ hiện tại và sau đó chuyển sang một công việc hoàn chỉnh hơn sau này nếu bạn thiếu một tính năng hữu ích :) – bakkal