Câu hỏi đặt ra không phải là ngu ngốc như một số người nghĩ rằng đó là. Tôi biết rất nhiều người đấu tranh với sự khác biệt đó, và những gì để sử dụng ở đâu. Để tóm tắt:
Danh sách là cấu trúc dữ liệu linh hoạt nhất trong R. Chúng có thể được xem như một tập hợp các phần tử mà không bị giới hạn về lớp, độ dài hoặc cấu trúc của mỗi phần tử. Điều duy nhất bạn cần phải chăm sóc, là bạn không cho hai yếu tố cùng tên. Điều đó có thể gây ra rất nhiều rắc rối, và R không cho lỗi cho điều đó:
> X <- list(a=1,b=2,a=3)
> X$a
[1] 1
khung dữ liệu là danh sách là tốt, nhưng họ có một vài hạn chế:
- bạn không thể sử dụng cùng tên cho hai biến khác nhau
- tất cả các phần tử của khung dữ liệu là các vectơ
- tất cả các phần tử của một khung dữ liệu có độ dài bằng nhau.
Do những hạn chế này và cấu trúc hai chiều kết quả, khung dữ liệu có thể mimick một số hành vi của ma trận. Bạn có thể chọn các hàng và thực hiện các thao tác trên các hàng. Bạn không thể làm điều đó với danh sách, vì một hàng là không xác định ở đó.
Tất cả điều này ngụ ý rằng bạn nên sử dụng khung dữ liệu cho bất kỳ tập dữ liệu nào phù hợp với cấu trúc hai chiều đó. Về cơ bản, bạn sử dụng các khung dữ liệu cho bất kỳ tập dữ liệu nào trong đó một cột trùng với một biến và một hàng trùng với một quan sát duy nhất theo nghĩa rộng của từ đó. Đối với tất cả các cấu trúc khác, danh sách là cách để đi.
Lưu ý rằng nếu bạn muốn có cấu trúc lồng nhau, bạn phải sử dụng danh sách. Vì các phần tử của danh sách có thể tự liệt kê, bạn có thể tạo các đối tượng có cấu trúc rất linh hoạt.
Nguồn
2013-04-09 13:14:57
Tôi nghĩ đây có thể giúp bạn .. http://www.r-tutor.com/r- giới thiệu/khung dữ liệu và http://www.r-tutor.com/r-introduction/list – Futuregeek
Có phải đó thực sự là câu hỏi tồi không? Tôi là một newbee trong R và đến từ java và C#, ngôn ngữ kịch bản này dường như khó khăn ... :( – ShazSimple
@ShazSimple Câu hỏi chính nó không phải là xấu.Nó chỉ là quá chung chung.Nếu bạn muốn có một giải pháp cho vấn đề cụ thể của bạn , bạn sẽ phải trình bày chúng tôi với một ví dụ tái sản xuất tối thiểu, như được giải thích [ở đây] (http: // stackoverflow.com/questions/5963269/cách thực hiện-một-tuyệt-tái-ví dụ). Để làm được điều đó, hãy tạo một câu hỏi mới. Chúng ta có thể để cái này ở đây để tham khảo. –