Need to group data and transpose portion of the table

조회 수: 2 (최근 30일)
Richard Lavery
Richard Lavery 2022년 8월 29일
답변: Richard Lavery 2022년 8월 29일
I have a dataset that includes test data for different circuit cards. The original table of data (T1) is orgaized by Serial Number (SN) of the board and a timestamp (Start_Time) that the circuit card started its test procedure. The two remaining columns are the name of the individual test steps (Test_Name) and the data values recoreded at each of those test steps (Data).
Since there are multiple tests run for each serial number, the data in SN and Start_Time are duplicated multiple times with the only new information being the Test_Name and Data. You can assume that the Test_Name values are the same for each circuit card serial number (i.e. we can treat them as categorical varriables).
I'm looking to do two things:
1) Goup the data by SN and Start_Time so they are not duplicated for each test
2) append the partially transposed data in Test_Name and Data so that each Test_Name becomes a new variable or column with the appropriate Data value beneath it.
Here's a sample of the original data table (T1):
SN = [1; 1; 1; 2; 2; 2];
Start_Time = [10; 10; 10; 20; 20; 20];
Test_Name = {'test_1'; 'test_2'; 'test_3'; 'test_1'; 'test_2'; 'test_3'};
Data = [23; 15; 23; 1; 44; 77];
T1 = table(SN, Start_Time, Test_Name, Data,'VariableNames',{'SN' 'Start_Time' 'Test_Name' 'Data'});
Here's what I'd like the data to look like after it's processed (T2):

답변 (1개)

Richard Lavery
Richard Lavery 2022년 8월 29일
Much thanks to Wolfie from Stackoverflow who answered this question for me. This can be achieved with a single line of code:
T2 = unstack( T1, 'Data', 'Test_Name' );

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by