grouptransform
Transforma dados de uma tabela grupo a grupo, mantendo a disposição original das linhas.
Categoria: Language Fundamentals > Data Types
Sintaxe
B = grouptransform(T, groupvars, method)
Substitui as variáveis de dados pelos valores transformados.
B = grouptransform(T, groupvars, method, datavars)
Transforma apenas as variáveis indicadas.
Descrição
Diferente de groupsummary, que reduz cada grupo a uma linha, grouptransform retorna um valor para cada linha original. Usos típicos são centralizar por grupo (@(x) x - mean(x)) ou normalizar dentro de cada grupo.
Argumentos de entrada
T- Tabela.
groupvars- Variável(is) que definem os grupos.
method- Function handle aplicado aos valores de cada grupo. Retorna um vetor de mesmo comprimento, ou um escalar repetido para o grupo.
datavars- Variável(is) a transformar.
Argumentos de saída
B- Tabela com o mesmo número de linhas e ordem de
T.
Exemplo
Centralizando por grupo
tb = table(categorical({'a'; 'b'; 'a'; 'c'; 'a'}), [1; 2; 3; 4; 5], 'VariableNames', {'g', 'v'});
grouptransform(tb, 'g', @(x) x - mean(x), 'v')
Saída
ans = 5×2 table
g v
_ __
a -2
b 0
a 0
c 0
a 2