Create table columns with some entries blank (no quote symbols)
7 次查看(过去 30 天)
显示 更早的评论
I have a table with some Boolean variables. They show up as `true` or `false`. I would like the trues to show up as (say) "Y" and the falses to show up as blanks. It's easier to see patterns.
I tried replacing the Boolean columns with columns of type `string`, but each string is adorned with quotes, even the blank ones. Too much visual noise. Same if I use a cell array of char arrays.
I often have good luck by applying `categorical` to string columns to get rid of quotes, but that doesn't work when there are empty strings or single spaces (" ").
Is there any way to have table columns with text labels, but some blanks without quotes?
I am using Matlab 2019a. Here it is, using string column arrays. I get similar results with cell column arrays of char arrays.
>> Tab = table;
>> Tab.YesNo1 = [false;true];
>> Tab.YesNo2 = strings( height( Tab ), 1 )
>> Tab.YesNo2( Tab.YesNo1 ) = "Y"
YesNo1 YesNo2
______ ______
false ""
true "Y"
>> Tab.YesNo2 = categorical( Tab.YesNo2 )
YesNo1 YesNo2
______ ___________
false <undefined>
true Y
>> Tab.YesNo2 = repmat(" ", height( Tab ), 1 );
>> Tab.YesNo2( Tab.YesNo1 ) = "Y"
YesNo1 YesNo2
______ ______
false " "
true "Y"
>> Tab.YesNo2 = categorical( Tab.YesNo2 )
YesNo1 YesNo2
______ ___________
false <undefined>
true Y
1 个评论
AndresVar
2022-3-29
Can you give example? Is this what you mean?
clear;
a = [true; false];
t = table(a) % table with logicals
b = repmat("",size(a)); % test with string
c = repmat(' ',size(a)); % test with char
idxTrue = t.a==true; % get position of true values
b(idxTrue) = "Y";
c(idxTrue) = 'Y';
% add the new columns
t.b = b;
t.c = c;
t
It still may not be effective to look visualize the table in the printed format, maybe you should plot something?
回答(1 个)
Arif Hoq
2022-3-29
try this:
str={'Y'};
col=[{'True'};{'True'};{'False'};{'True'};{'False'};{'True'}];
T=table(col);
for i=1:size(col,1)
if string(table2array(T(i,1))) ==string({'True'})
T(i,1)={'Y'};
else
T(i,1)={''};
end
end
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Language Support 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!