agrupacion de datos de una tabla
Holas,
tengo una tabla ‘tData’ de tamano: 152709×14, que resume senal de varias variables de un instrumento de medicion (FTIR) y quisiera disminuir el ruido agrupando los valores de la senial en grupos de a 10 es decir obtener una nueva tabla ‘tDataReduced’ de un tamano 15270×14. la tabla tData cuenta con una columna de texto con el nombre de cada serie de medicion llamada ‘MeasID’, una columna de fecha y hora llamada ‘Time’ y 12 columnas con valores numericos.
Para este proposito, Estoy usando este codigo:
% (1) Crear un vector de índices para agrupar las filas en grupos de 10
indices = repelem(1:ceil(height(tData)/10), 10, 1);
indices = indices(1:height(tData));
% (2) Calcular el promedio de cada grupo de 10 filas
tDataReduced = grpstats(tData, indices, ‘mean’);
% (3) Eliminar la columna de índices generada por grpstats
tDataReduced(:, ‘GroupCount’) = [];
%%%%%%%%%%%%%%%%%%%5
Pero se tranca en el paso (2) indicando este error:
%*****************
Index exceeds the number of array elements. Index must not exceed 14.
Error in dsgrpstats (line 97)
[group,glabel,groupname] = mgrp2idx(a_data(groupvars),a_nobs);
Error in grpstats (line 144)
[varargout{1:nargout}] = dsgrpstats(x,group,whichstats,varargin{:});
%******************
Algunba idea que me pueda ayudar?Holas,
tengo una tabla ‘tData’ de tamano: 152709×14, que resume senal de varias variables de un instrumento de medicion (FTIR) y quisiera disminuir el ruido agrupando los valores de la senial en grupos de a 10 es decir obtener una nueva tabla ‘tDataReduced’ de un tamano 15270×14. la tabla tData cuenta con una columna de texto con el nombre de cada serie de medicion llamada ‘MeasID’, una columna de fecha y hora llamada ‘Time’ y 12 columnas con valores numericos.
Para este proposito, Estoy usando este codigo:
% (1) Crear un vector de índices para agrupar las filas en grupos de 10
indices = repelem(1:ceil(height(tData)/10), 10, 1);
indices = indices(1:height(tData));
% (2) Calcular el promedio de cada grupo de 10 filas
tDataReduced = grpstats(tData, indices, ‘mean’);
% (3) Eliminar la columna de índices generada por grpstats
tDataReduced(:, ‘GroupCount’) = [];
%%%%%%%%%%%%%%%%%%%5
Pero se tranca en el paso (2) indicando este error:
%*****************
Index exceeds the number of array elements. Index must not exceed 14.
Error in dsgrpstats (line 97)
[group,glabel,groupname] = mgrp2idx(a_data(groupvars),a_nobs);
Error in grpstats (line 144)
[varargout{1:nargout}] = dsgrpstats(x,group,whichstats,varargin{:});
%******************
Algunba idea que me pueda ayudar? Holas,
tengo una tabla ‘tData’ de tamano: 152709×14, que resume senal de varias variables de un instrumento de medicion (FTIR) y quisiera disminuir el ruido agrupando los valores de la senial en grupos de a 10 es decir obtener una nueva tabla ‘tDataReduced’ de un tamano 15270×14. la tabla tData cuenta con una columna de texto con el nombre de cada serie de medicion llamada ‘MeasID’, una columna de fecha y hora llamada ‘Time’ y 12 columnas con valores numericos.
Para este proposito, Estoy usando este codigo:
% (1) Crear un vector de índices para agrupar las filas en grupos de 10
indices = repelem(1:ceil(height(tData)/10), 10, 1);
indices = indices(1:height(tData));
% (2) Calcular el promedio de cada grupo de 10 filas
tDataReduced = grpstats(tData, indices, ‘mean’);
% (3) Eliminar la columna de índices generada por grpstats
tDataReduced(:, ‘GroupCount’) = [];
%%%%%%%%%%%%%%%%%%%5
Pero se tranca en el paso (2) indicando este error:
%*****************
Index exceeds the number of array elements. Index must not exceed 14.
Error in dsgrpstats (line 97)
[group,glabel,groupname] = mgrp2idx(a_data(groupvars),a_nobs);
Error in grpstats (line 144)
[varargout{1:nargout}] = dsgrpstats(x,group,whichstats,varargin{:});
%******************
Algunba idea que me pueda ayudar? statistics, table, grpstats, filter, signal processing MATLAB Answers — New Questions