2015-09-16 14 views
5

Khi tôi có các đối tượng data.frame, tôi có thể chỉ cần làm View(df) và sau đó tôi có thể xem data.frame trong một bảng đẹp (ngay cả khi tôi không thể thấy tất cả các hàng, Tôi vẫn có ý tưởng về những biến dữ liệu của tôi chứa). Nhưng khi tôi có một đối tượng list, cùng một lệnh không hoạt động. Và khi danh sách lớn, tôi không biết danh sách trông như thế nào. Tôi đã thử head(mylist) nhưng bảng điều khiển của tôi không thể hiển thị tất cả thông tin cùng một lúc. Một cách hiệu quả để xem xét một danh sách lớn trong R là gì?R: có cách nào để xem danh sách

+0

'print (mylist)'? –

+0

Bạn có thể viết phương thức in tùy chỉnh. –

+0

@JakubKania Bảng điều khiển RStudio của tôi không hiển thị đầu danh sách vì một số lý do? Tôi giả định danh sách của tôi quá lớn (148MB) – Adrian

Trả lời

6

tôi sử dụng str để xem cấu trúc của bất kỳ đối tượng, đặc biệt phức tạp danh sách của

Rstudio cho bạn thấy cấu trúc bằng cách nhấn vào mũi tên màu xanh trong các dữ liệu cửa sổ:

enter image description here

5

Dưới đây là một một vài cách để xem danh sách:

Nhìn vào một phần tử của danh sách:

myList[[1]] 

Nhìn vào người đứng đầu của một yếu tố của một danh sách:

head(myList[[1]]) 

Xem các yếu tố đó đang ở trong một danh sách gọn gàng:

summary(myList) 

Xem cấu trúc của một danh sách (nhiều hơn trong chiều sâu):

str(myList) 

Ngoài ra, theo đề nghị ở trên, bạn có thể thực hiện một phương pháp in tùy chỉnh như vậy:

printList <- function(list) { 

    for (item in 1:length(list)) { 

    print(head(list[[item]])) 

    } 
} 

Ở trên sẽ in ra phần đầu của mỗi mục trong danh sách.

3

Nếu bạn có một danh sách thực sự lớn, bạn có thể xem một phần của nó bằng cách sử

str(myList, max=1) 
+0

Đề xuất tuyệt vời, imo. –

0

Đây là một chỉnh sửa đơn giản của giraffehere của tuyệt vời câu trả lời.

Đối với một số danh sách, chỉ thuận tiện để in đầu của tập con của các đối tượng lồng nhau, để in tên của vị trí đã cho phía trên đầu ra của đầu().

Arguments:

#'@param list a list object name 
#'@param n an integer - the the objects within the list that you wish to print 
#'@param hn an integer - the number of rows you wish head to print 

SỬ DỤNG: printList (mylist, n = 5, hn = 3)

printList <- function(list, n = length(list), hn = 6) { 

    for (item in 1:n) { 
    cat("\n", names(list[item]), ":\n") 
    print(head(list[[item]], hn)) 

    } 
} 

Đối với danh sách số, sản lượng có thể dễ đọc hơn nếu số lượng chữ số còn hạn chế đến 3, ví dụ:

printList <- function(list, n = length(list), hn = 6) { 

    for (item in 1:n) { 
    cat("\n", names(list[item]), ":\n") 
    print(head(list[[item]], hn), digits = 3) 

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