2015-09-16 3 views
5

Когда у меня есть data.frame объектов, я могу просто сделать View(df), а затем я получу, чтобы увидеть data.frame в хорошей таблице (даже если я не могу видеть все строки, Я все еще имею представление о том, какие переменные содержат мои данные). Но когда у меня есть объект list, эта же команда не работает. И когда список большой, я не знаю, как выглядит список. Я пробовал head(mylist), но моя консоль просто не может отображать всю информацию сразу. Каков эффективный способ взглянуть на большой список в R?R: есть ли способ просмотра списка

+0

'print (mylist)'? –

+0

Вы можете написать собственный способ печати. –

+0

@JakubKania Консоль RStudio по какой-то причине не отображает верхнюю часть списка? Я предполагаю, что мой список слишком велик (148MB) – Adrian

ответ

6

Я использую str увидеть структуру любого объекта, особенно сложный Листом

Rstudio показывает вам структуру, нажав на синюю стрелку в-окне данных:

enter image description here

5

Вот несколько способов, чтобы посмотреть на список:

посмотрите на один из элементов списка:

myList[[1]] 

Посмотрите на голову одного элемента списка:

head(myList[[1]]) 

Смотрите элементы, которые находятся в списке аккуратно:

summary(myList) 

См структуру списка (более глубокого):

str(myList) 

в качестве альтернативы, как предложено выше, вы могли бы сделать метод печати на заказ, как, например:

printList <- function(list) { 

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

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

    } 
} 

Вышеприведенное будет распечатывать заголовок каждого элемента в списке.

3

Если у вас есть действительно большой список, вы можете посмотреть на его части с помощью

str(myList, max=1) 
+0

Отличное предложение, imo. –

0

Это простое редактирование giraffehere отличных ответ.

Для некоторых списков удобно печатать только заголовок подмножества вложенных объектов, чтобы напечатать имя данного слота над выводом головы().

Аргументы:

#'@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 

ПРИМЕНЕНИЕ: перечень печати (MyList, п = 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)) 

    } 
} 

Для числовых списков, выход может быть более удобным для чтения, если количество цифр ограничено до 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), digits = 3) 

    } 
} 
Смежные вопросы