Como ler a saída de str () para listas em r

Muitas pessoas que começam com R ficam confusas com listas no início. Não há realmente nenhuma necessidade para isso - uma lista tem apenas duas partes importantes: os componentes e os nomes. E no caso de listas sem nome, você nem precisa se preocupar com o último. Mas se você olhar para a estrutura da baskets.list na saída seguinte, você pode ver porque muitas vezes as pessoas se coíbe de listas.

gt; str (baskets.list) Lista de 2 $: Num [1: 2, 1: 6] 12 5 4 4 5 2 4 6 9 12 .....- attr (*, “”) = dimnames Lista de 2. . .. $: chr [1: 2] “Granny” “Geraldine” .. .. $: chr [1: 6] “1º” “2nd” “terceiro” “4” ... $: chr “2010- 2011”

Isso realmente parece com algum código obscuro utilizado pelos serviços secretos durante a Segunda Guerra Mundial. Ainda assim, quando você sabe como lê-lo, é muito fácil de ler. Então vamos dividir a saída para ver o que está acontecendo aqui:

  • A primeira linha simplesmente diz que baskets.list é uma lista com dois componentes.

  • A segunda linha contém um $, que indica o início do primeiro componente. O resto da linha você deve ser capaz de ler agora: Diz-lhe que este primeiro componente é uma matriz numérica com duas linhas e seis colunas.

  • A terceira linha é precedida pela .., indicando que esta linha também pertence ao primeiro componente. Se você olhar para a saída do str (baskets.team) você vê esta linha e os dois seguintes também. R mantém os nomes de linha e coluna de uma matriz em um atributo chamado dimnames. Por enquanto, você só tem que lembrar que um atributo é um pouco mais de informação que pode ser ligado a praticamente qualquer objeto em R.



  • o dimnames atributo é por si só mais uma vez uma lista.

  • A quarta e quinta linhas de dizer-lhe que esta lista contém dois componentes: um vetor de caracteres de comprimento 2 e um de comprimento 6. R utiliza o .. apenas como um espaço reservado, para que você possa ler a partir do recuo quais linhas pertencem a qual componente.

  • Finalmente, a sexta linha começa novamente com uma $ e dá-lhe a estrutura do segundo componente - neste caso, um vetor personagem com apenas um valor.

Se você olhar para a saída do str (baskets.nlist), você tem essencialmente a mesma coisa. A única diferença é que R agora coloca o nome de cada direito componente após a $.

Em muitos casos, a olhar para a estrutura da saída de uma função pode dar-lhe um monte de insights sobre quais informações estão contidas no objeto. Muitas vezes, esses objetos são listas, e o pedaço de informação que você está procurando é enterrado em algum lugar nessa lista.


Publicações relacionadas