Keep specific column variables and delete others?
조회 수: 71 (최근 30일)
이전 댓글 표시
Hi, I have a table with a list of column variables (Eg: [[Var1 Var2 Var3 Var4 VarN]. I am trying to keep only specific variables and associated column data, whilst deleting all others.
For example, I want only variable 2 and 4, while deleting all other columns. Desired output --> [Var2 Var4]
It is possible to output only the desired columns without individually deleting unwanted variables?
댓글 수: 0
채택된 답변
Paolo
2018년 8월 18일
Var1 = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Var2 = [38;43;38;40;49];
Var3 = logical([1;0;1;0;1]);
T = table(Var1,Var2,Var3)
To keep columns one and three:
T = [T(:,1) T(:,3)]
T =
5×2 table
Var1 Var3
_________ _____
'Sanchez' true
'Johnson' false
'Li' true
'Diaz' false
'Brown' true
Adapt the code for columns 2 and 4.
추가 답변 (1개)
Alex Whiteway
2022년 5월 19일
I know this is a bit old, but I wanted to put my preferred method using column names:
Var1 = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Var2 = [38;43;38;40;49];
Var3 = logical([1;0;1;0;1]);
T = table(Var1,Var2,Var3)
%Keep just Var1 and Var3
Tnew = T(:,{'Var1', 'Var3'});
댓글 수: 2
Walter Roberson
2023년 4월 1일
Testing efficiency:
Var1 = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Var2 = [38;43;38;40;49];
Var3 = logical([1;0;1;0;1]);
T = table(Var1,Var2,Var3)
%Keep just Var1 and Var3
tic; Tnew1 = T(:,{'Var1', 'Var3'}); toc
tic; Tnew2 = T(:,[1 3]); toc
tic; Tnew3 = [T(:,1), T(:,3)]; toc
So the {'Var1', 'Var3'} version is considerably more efficient than the [T(:,1), T(:,3)] option -- but it is not as efficient as indexing by variable numbers.
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!