Các hàm read.table và read.csv trong R được sử dụng để phân tích cú pháp một tệp hoặc URL chứa dữ liệu phân tách và tạo ra một khung dữ liệu R. Tuy nhiên, tôi đã có một vector ký tự chứa dữ liệu phân tách CSV (sử dụng dấu phẩy và \ n làm dấu phân cách cột và bản ghi), vì vậy tôi không cần phải đọc nó từ một tệp hoặc URL. Làm cách nào để chuyển vectơ ký tự này vào read.table
, read.csv
hoặc scan()
mà không ghi nó vào một tệp trên đĩa trước và đọc lại nó? Tôi nhận ra rằng viết nó vào đĩa là có thể, nhưng tôi đang tìm một giải pháp mà không yêu cầu vòng tròn không cần thiết này và có thể đọc dữ liệu từ vector ký tự trực tiếp.Làm cách nào để phân tích cú pháp dữ liệu CSV từ vectơ ký tự để trích xuất khung dữ liệu?
16
A
Trả lời
24
Bạn có thể sử dụng textConnection() để chuyển vector ký tự tới read.table(). Ví dụ:
x <- "first,second\nthird,fourth\n"
x1 <- read.table(textConnection(x), sep = ",")
# x1
V1 V2
1 first second
2 third fourth
Trả lời được tìm thấy trong số R mailing list.
2017 EDIT
Bảy năm sau, tôi có lẽ muốn làm điều đó như thế này:
read.table(text = x, sep = ",")
3
Một phụ lục nhỏ để trả lời neilfws của. Hàm wrapper này rất hữu ích để giúp trả lời các câu hỏi trên stackoverflow khi người hỏi đã đặt dữ liệu thô vào câu hỏi của họ thay vì cung cấp một khung dữ liệu.
textToTable <- function(text, ...)
{
dfr <- read.table(tc <- textConnection(text), ...)
close(tc)
dfr
}
Với cách sử dụng, ví dụ:
textToTable("first,second\nthird,fourth\n", sep = ",")
Các vấn đề liên quan
- 1. Làm cách nào để phân tích dữ liệu MP3 để trích xuất các khung được đánh số?
- 2. Có cách nào để Trình tích hợp dữ liệu Oracle trích xuất dữ liệu từ MongoDB
- 3. Ví dụ về quá tải toán tử trích xuất C++ >> để phân tích cú pháp dữ liệu
- 4. cách phân tích dữ liệu xml bằng cách sử dụng phân tích cú pháp libxml
- 5. Làm cách nào để phân tích cú pháp URL dữ liệu trong Nút?
- 6. Phân tích dữ liệu từ CSV sang mảng trong Java
- 7. Trích xuất một chuỗi từ một khung dữ liệu
- 8. Phân tích cú pháp/deserialize Dữ liệu MTOM/XOP .NET
- 9. Xuất dữ liệu từ MATLAB sang csv
- 10. Lỗi khi phân tích cú pháp dữ liệu JSON
- 11. Làm cách nào để phân tích cú pháp một cơ sở dữ liệu tuần tự hóa PHP trong Java?
- 12. Trích xuất tập con của khung dữ liệu trong R
- 13. Làm cách nào để trích xuất/phân tích dữ liệu bảng từ một tệp văn bản trong Perl?
- 14. Làm cách nào để phân tích dữ liệu dòng MICR?
- 15. Trích xuất dữ liệu từ Wikipedia API
- 16. Làm thế nào để trích xuất dữ liệu từ lô matplotlib
- 17. C# trích xuất dữ liệu từ XML
- 18. Súp đẹp để phân tích cú pháp url để nhận dữ liệu url khác
- 19. Làm cách nào để trả về dữ liệu từ trình phân tích cú pháp SAX của Python?
- 20. Làm cách nào để phân tích cú pháp tệp CSV trong Perl hiệu quả?
- 21. Tạo khung dữ liệu từ hai vectơ sử dụng cbind
- 22. Lấy dữ liệu có thể phân tích cú pháp từ đồ thị rrdtool
- 23. Trình phân tích cú pháp ngôn ngữ tự nhiên để phân tích cú pháp dữ liệu phát theo từng môn thể thao
- 24. Cách tốt nhất để trích xuất dữ liệu từ cơ sở dữ liệu FileMaker Pro trong tập lệnh là gì?
- 25. dữ liệu Phân tích cú pháp để tạo ra một đối tượng dữ liệu json với Python
- 26. chuỗi phân tích cú pháp: trích xuất các từ và cụm từ [JavaScript]
- 27. Sử dụng R để tải xuống tệp dữ liệu nén, trích xuất và nhập dữ liệu
- 28. Cách tốt nhất để phân tích cú pháp tài liệu Microsoft Office và PDF là gì?
- 29. Cách phân tích cú pháp các ký tự UTF-8 trong các tệp Excel bằng POI
- 30. Làm cách nào để xuất dữ liệu từ SQL Server?
Một cảnh báo về cách tiếp cận này: 'textConnection()' có thể rất chậm khi số lượng hàng tăng lên. Tại 223k hàng, tôi tìm thấy nó nhanh hơn để ghi vào một CSV tạm thời, và đọc nó trong. :( –