2014-09-19 19 views
10

Tôi có một tập dữ liệu với khoảng 2 triệu hàng, vì vậy mà không đọc toàn bộ tập dữ liệu tôi muốn đọc một tập hợp con của tập dữ liệu. Tập dữ liệu của tôi chứa cột ngày tháng trong đó vì vậy tôi chỉ muốn đọc tập dữ liệu giữa phạm vi ngày mà không đọc toàn bộ tập dữ liệu vì sẽ mất nhiều thời gian và lãng phí bộ nhớ. vậy làm thế nào để thực hiện nó có thể bất cứ ai hướng dẫn tôi về điều này?Làm thế nào để đọc một tập con của tập dữ liệu lớn trong R?

+1

Đọc toàn bộ tập dữ liệu với 'fread' từ gói dữ liệu.table hoặc sử dụng gói sqldf. Xem thêm: http://stackoverflow.com/q/1727772/1412059 – Roland

Trả lời

7

Sử dụng skip= tham số trong read.table

read.table("file.txt",skip= ,nrows=) 

Cả skip=nrows= mất với số lượng chỉ số hàng vì vậy chỉ cần thêm chúng sau =.

nrows= xác định mức độ sâu khi bạn nhập tệp.

Tôi khuyên bạn nên đọc https://stat.ethz.ch/R-manual/R-devel/library/utils/html/read.table.html nếu bạn chưa làm như vậy.

Ngoài ra, xin vui lòng xem một trong những câu hỏi của tôi:

R - Reading lines from a .txt-file after a specific line

Nó, phần nào, chạm vào cùng một chủ đề.

Cách thể khác có thể được sử dụng trong grep()skip=

read.table(...,skip=grep("2005-12-31", readLines("File.txt")),nrows=365) 

gì dòng này không là nó bỏ qua cho đến khi nó tìm thấy dòng miêu tả trong grep() và đọc các dòng sau đó. Các nrow= sẽ ngừng đọc sau khi nó đã đọc 365 dòng (theo cách này bạn đã đọc một năm ngày cung cấp một dòng bằng một ngày).

Điều này có vẻ phức tạp, nhưng đó là cách duy nhất tôi biết cách giải quyết vấn đề này.

+0

nhưng làm cách nào nó có thể hoạt động trong ngày? –

+0

nếu tôi không biết ngày bắt đầu trong tệp làm cách nào tôi có thể đếm số hàng cần bỏ qua? –

+0

Bạn có thể chỉ định một chút không? Bạn đang đọc loại tệp nào? Tiêu chí lựa chọn liên quan đến ngày bắt đầu đọc là gì? Ý tôi là, bạn phải có một số ý tưởng về những ngày bạn muốn nhập? Hay tôi đang thiếu thứ gì đó ở đây. –

Các vấn đề liên quan