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

Veja também

groupsummary groupfilter groupcounts findgroups splitapply