groupfilter
Mantém apenas as linhas dos grupos que satisfazem uma condição.
Categoria: Language Fundamentals > Data Types
Sintaxe
B = groupfilter(T, groupvars, fun)
Aplica fun aos dados de cada grupo e mantém os grupos para os quais retorna verdadeiro.
B = groupfilter(T, groupvars, fun, datavars)
Passa a fun apenas as variáveis de dados indicadas.
Descrição
É um filtro no nível do grupo. Por exemplo, groupfilter(T, 'g', @(x) numel(x) > 1, 'v') descarta todo grupo com uma única linha. O teste enxerga o grupo inteiro de uma vez, o que o distingue da indexação lógica em linhas isoladas.
Argumentos de entrada
T- Tabela.
groupvars- Variável(is) que definem os grupos.
fun- Function handle que recebe os valores do grupo e retorna um escalar lógico, ou um vetor lógico com uma entrada por linha.
datavars- Variável(is) entregues a
fun.
Argumentos de saída
B- Tabela com as linhas dos grupos aprovados, na ordem original.
Exemplo
Descartando grupos pequenos
tb = table(categorical({'a'; 'b'; 'a'; 'c'; 'a'}), [1; 2; 3; 4; 5], 'VariableNames', {'g', 'v'});
groupfilter(tb, 'g', @(x) numel(x) > 1, 'v')
Saída
ans = 3×2 table
g v
_ _
a 1
a 3
a 5
Veja também
groupsummary grouptransform groupcounts findgroups splitapply