Como extrair componentes de listas em R

Você pode extrair componentes de listas em R. Considere duas listas. A exibição de tanto a lista sem nome baskets.list

e o nome da lista baskets.nlist já mostram que a maneira de acessar os componentes em uma lista é um pouco diferente.

Isso não é totalmente verdade, porém. No caso de uma lista com o nome, você pode acessar os componentes usando o $, como você faz com quadros de dados. Para ambas as listas de nomeados e sem nome, você pode usar dois outros métodos para acessar os componentes em uma lista:

  • utilização [[]] dá-lhe a componente em si.

  • utilização [] dá-lhe uma lista com os componentes selecionados.

A utilização de [[]]

Se você só precisa de um único componente e você quer que o componente em si, você pode usar [[]], como isso:

> Baskets.list [[1]] 1º 2º 3º 4º 5º 6thGranny 12 4 5 6 9 3Geraldine 5 4 2 4 12 9

Se você tem uma lista com o nome, você também pode usar o nome do componente como um índice, como este:

> Baskets.nlist [[# 147-scores # 148 -]] 1º 2º 3º 4º 5º 6thGranny 12 4 5 6 9 3Geraldine 5 4 2 4 12 9

Em cada caso, você obtém o componente em si retornado. Ambos os métodos dar-lhe a matriz original baskets.team.

Você não pode usar vetores lógicos ou números negativos como índices quando se utiliza [[]]. Você pode usar apenas um único valor - ou um número (positivo) ou um nome do componente.

Usando []

Você pode usar [] para extrair um único componente ou múltiplos componentes a partir de uma lista, mas, neste caso, o resultado é sempre uma lista. [] é mais flexível do que [[]], porque você pode usar todos os truques que também usam com índices vetoriais e matriciais. [] pode trabalhar com vectores lógicas e índices negativos também.

Então, se você quiser que todos os componentes da lista baskets.list exceto para o primeiro, você pode usar o seguinte código:

> Baskets.list [-1] [[1]] [1] # 147-temporada 2010-2011 # 148-

Ou se você quiser todos os componentes do baskets.nlist onde o nome contém # 147-estação# 148-, você pode usar o seguinte código:

> Baskets.nlist [grepl (# 147-temporada # 148-, nomes (baskets.nlist))] $ temporada [1] # 147-2010-2011 # 148-

Note-se que, em ambos os casos, o valor devolvido é uma lista, mesmo se esta contiver apenas um componente. R simplifica matrizes por padrão, mas o mesmo não contam para listas.

menu