Como usar a função split() em r para dividir dados
A função split() em R pode ser usada para dividir dados em grupos com base nos níveis dos fatores.
Esta função usa a seguinte sintaxe básica:
dividir(x,f,…)
Ouro:
- x : Nome do vetor ou bloco de dados a ser dividido em grupos
- f : Um fator que define os agrupamentos
Os exemplos a seguir mostram como usar esta função para dividir vetores e quadros de dados em grupos.
Exemplo 1: Use split() para dividir o vetor em grupos
O código a seguir mostra como dividir um vetor de valores de dados em grupos com base em um vetor de níveis de fator:
#create vector of data values data <- c(1, 2, 3, 4, 5, 6) #create vector of groupings groups <- c('A', 'B', 'B', 'B', 'C', 'C') #split vector of data values into groups split(x = data, f = groups) $A [1] 1 $B [1] 2 3 4 $C [1] 5 6
O resultado são três grupos.
Observe que você também pode usar a indexação para recuperar grupos específicos:
#split vector of data values into groups and only display second group
split(x = data, f = groups)[2]
$B
[1] 2 3 4
Exemplo 2: Use split() para dividir o quadro de dados em grupos
Suponha que temos o seguinte quadro de dados em R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(33, 28, 31, 39, 34, 44), assists=c(30, 28, 24, 24, 28, 19)) #view data frame df team position points assists 1 GA 33 30 2 AG 28 28 3 AF 31 24 4 BG 39 24 5 BF 34 28 6 BF 44 19
Podemos usar o seguinte código para dividir o quadro de dados em grupos com base na variável “team”:
#split data frame into groups based on 'team'
split(df, f = df$team)
$A
team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
$B
team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19
O resultado são dois grupos. A primeira contém apenas linhas onde “equipe” é igual a A e a segunda contém apenas linhas onde “equipe” é igual a B.
Observe que também podemos dividir os dados em grupos usando variáveis de múltiplos fatores. Por exemplo, o código a seguir mostra como dividir os dados em grupos com base nas variáveis “equipe” e “posição”:
#split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))
$AF
team position points assists
3 AF 31 24
$BF
team position points assists
5 BF 34 28
6 BF 44 19
$AG
team position points assists
1 GA 33 30
2 AG 28 28
$BG
team position points assists
4 BG 39 24
O resultado são quatro grupos.
Recursos adicionais
Os tutoriais a seguir explicam como usar outras funções comuns em R:
Como usar a função summary() em R
Como usar a função replicate() em R
Como usar a função match() em R