Curso
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
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
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.