Pular para o conteúdo principal

Tutorial de subconjunto no R

Descubra como acessar os dados do seu dataframe com subconjuntos. Saiba como fazer um subconjunto usando colchetes ou usando a função subset() do R.
Actualizado 16 de jan. de 2025  · 4 min de leitura

O subconjunto no R é um recurso de indexação útil para acessar elementos de objetos. Ele pode ser usado para selecionar e filtrar variáveis e observações. Os dois principais métodos de subconjunto de dados no R são os colchetes [] , que são um método de indexação geral, e a função subset() , que é um método de nível mais alto e mais fácil de usar. 

Se você quiser saber mais sobre o subconjunto de dados e outras técnicas de programação em R, comece hoje mesmo com nosso curso Introdução ao R. Você ficará surpreso com a rapidez com que aprenderá. Se você tiver mais experiência, nosso Intermediate R é outra ótima opção. 

Seleção de linhas

Aqui está um exemplo de subconjunto em um dataframe chamado debt.

debt[3:6, ]
      name  payment
3      Dan      150
4      Rob       50
5      Rob       75
6      Rob      100

Aqui, selecionamos as linhas 3 a 6 de debt.

Seu caminho para dominar o R

Comece do zero e desenvolva as principais habilidades em R para a ciência de dados.
Comece a Aprender De Graça

Seleção de linhas de uma coluna específica

Outro aspecto a ser estudado é a simplificação que ocorre quando você seleciona uma única coluna. A seleção das três primeiras linhas apenas da coluna payment simplifica o resultado em um vetor.

debt[1:3, 2]
100 200 150

Formatação de dataframe

Para mantê-lo como um dataframe, basta adicionar drop=False conforme mostrado abaixo: 

debt[1:3, 2, drop = FALSE]
    payment
1       100
2       200
3       150

Seleção de uma coluna específica

Para selecionar uma coluna específica, você também pode digitar o nome do dataframe, seguido de $ e, em seguida, o nome da coluna que deseja selecionar. Neste exemplo, selecionaremos a coluna payment do quadro de dados. Ao executar esse script, o R simplificará o resultado como um vetor.

debt$payment
100 200 150 50 75 100

Usando a função subset()

Quando você deseja criar subconjuntos mais complexos ou um subconjunto com base em uma condição, a próxima etapa é usar a função subset(). Por exemplo, e se você quisesse analisar a dívida de alguém chamado Dan. Você poderia simplesmente usar os colchetes para selecionar a dívida e totalizá-la, mas essa não é uma maneira muito robusta de fazer as coisas, especialmente com possíveis alterações no conjunto de dados.

# This works, but is not informative
debt[1:3, ]

subset() em uma variável categórica

Uma maneira melhor de fazer isso é usar a função subset() para selecionar as linhas em que a coluna name é igual a Dan. Observe que você precisa ter um sinal de igual duplo, conhecido como operador relacional.

# This works, but is not informative nor robust
debt[1:3, ]

# Much more informative!
subset(debt, name == "Dan")
      name     payment
1      Dan         100
2      Dan         200
3      Dan         150

subset() em uma variável numérica

Também podemos fazer um subconjunto em colunas numéricas. Se quiséssemos ver as linhas em que os pagamentos são iguais a US$ 100, você faria o seguinte:

subset(debt, payment == 100)
      name  payment
1      Dan      100
6      Rob      100

Acesso e subconjunto de quadros de dados

Passando para o próximo exemplo, e se você estiver interessado apenas nos fluxos de caixa da empresa A?

subset(cash, company == "A")
      company  cash_flow  year
1           A       1000     1
2           A       4000     3
3           A        550     4

Lembre-se:

  • O primeiro argumento que você passa para subset() é o nome do seu dataframe, cash.

  • Observe que você não deve colocar company entre aspas!

  • O == é o operador de igualdade. Ele testa para descobrir onde duas coisas são iguais e retorna um vetor lógico.

Exemplo interativo do método subset()

No exemplo abaixo, você usará o método subset() para selecionar somente as linhas de cash correspondentes à empresa B. E, em seguida, as linhas de subset() que têm fluxos de caixa com vencimento em 1 ano.

# Rows about company B
subset(cash, company == "B")

# Rows with cash flows due in 1 year
subset(cash, year == 1)

Quando você executa o código acima, ele produz o seguinte resultado:

  company cash_flow year
4       B      1500    1
5       B      1100    2
6       B       750    4
7       B      6000    5
  company cash_flow year
1       A      1000    1
4       B      1500    1

Experimente você mesmo.

Para saber mais sobre acesso e subconjunto de quadros de dados no R, assista a este vídeo do nosso curso Introdução ao R para Finanças.

Este conteúdo foi extraído do curso Introdução ao R para Finanças da DataCamp, ministrado por Lore Dirick.

Considerações finais sobre subconjuntos

Parte da diversão do R é que ele oferece métodos diferentes para realizar tarefas semelhantes. O subconjunto não é exceção, com os colchetes [] e a função subset() realizando a mesma coisa. Você pode escolher entre os dois, dependendo se prefere o controle de baixo nível ou a simplicidade de alto nível.

Considere a possibilidade de aprimorar suas habilidades com nosso curso de carreira de Cientista de Aprendizado de Máquina em R. Você aprofundará seu conhecimento sobre a funcionalidade principal do R, mas também estará equipado com técnicas avançadas para lidar com problemas de aprendizado de máquina.

Temas

Cursos R

Certificação disponível

curso

Introdução ao R

4 hr
2.8M
Domine os conceitos básicos de análise de dados em R, incluindo vetores, listas e quadros de dados, e pratique o R com conjuntos de dados reais.
Ver DetalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow