Como Subconjunto de dados Frames em R
Agora que você já revisou as regras para a criação de subconjuntos, você pode experimentá-lo com alguns quadros de dados em R. Você só tem que lembrar que um quadro de dados é um objeto bidimensional e contém linhas, bem como colunas. Isso significa que você precisa especificar o subconjunto de linhas e colunas de forma independente. Para fazer isso, você combinar os operadores.
Para ilustrar subsetting de quadros de dados, ter um olhar para o conjunto de dados built-in íris, um quadro de dados de cinco colunas e 150 linhas com dados sobre flores da íris.
> Str (íris) 'data.frame': 150 obs. de 5 variáveis: $ Sepal.Length: Num 5,1 4,9 4,7 4,6 5 5,4 4,6 5 4,4 4,9 ... $ Sepal.Width: Num 3,5 3 3,2 3,1 3,6 3,9 3,4 3,4 2,9 3,1 ... $ Petal.Length: Num 1,4 1,4 1,3 1,5 1,4 1,7 1,4 1,5 1,4 1,5 ... $ Petal.Width: num 0,2 0,2 0,2 0,2 0,2 0,4 0,3 0,2 0,2 0,1 ... $ Espécie: Fator w / 3 níveis "setosa", "versicolor", ..: 1 1 1 1 1 1 1 1 1 1 ...
Quando você subconjunto objetos com mais de uma dimensão, você especificar o argumento subconjunto para cada dimensão - você separar os argumentos subconjunto com vírgulas.
Por exemplo, para obter as cinco primeiras linhas de íris e todas as colunas, tente o seguinte:
> Iris [1: 5,]
Para obter todas as linhas, mas apenas duas das colunas, tente o seguinte:
> Iris [, c ( "Sepal.Length", "Sepal.Width")]
Você precisa ter um cuidado especial quando subsetting em uma única coluna de um quadro de dados. Tente o seguinte:
iris [ 'Sepal.Length']
Você verá que o resultado é um vetor, não um quadro de dados como seria de esperar.
Quando sua operação subconjunto retorna uma única coluna, o comportamento padrão é retornar uma versão simplificada. A forma como isto funciona é que R inspecciona os comprimentos dos elementos mostrados. Se todos estes elementos têm o mesmo comprimento, então R simplifica o resultado a um vector, matriz ou matriz.
No exemplo, R simplifica o resultado a um vector. Para substituir esse comportamento, você precisa especificar o argumento gota = FALSE em sua operação subconjunto:
> Iris [ 'Sepal.Length', drop = FALSE]
Alternativamente, você pode subdividir a estrutura de dados como uma lista. O código a seguir retorna um quadro de dados com apenas uma coluna, bem como:
> Iris [ 'Sepal.Length']
Finalmente, para obter um subconjunto de apenas algumas colunas e algumas linhas:
> íris [1: 5, C ( "Sepal.Length", "Sepal.Width")] Sepal.Length Sepal.Width1 3,52 4,9 3,03 5,1 4,7 3,24 4,6 3,15 5,0 3,6