Unable to call table2array in another function
3 views (last 30 days)
Show older comments
Hanisah Rashid
on 28 Nov 2020
Commented: Walter Roberson
on 29 Nov 2020
Hi,
I have a table with only 1 column containing numeric data.
filename = 'dataset_Facebook_modified.csv';
data = readtable(filename);
labels = data(:,end);
Then I want to create a function called 'l_std' where I'm trying to use table2array to carry out some calculations.
function [labels_std, labels_avg] = l_std(labels)
labels_std = 0;
labels_avg = 0;
label = table2array(labels);
labels_std = std(label)
labels_avg = mean(label)
end
However, I got the error message as below (red text):
Brace indexing is not supported for variables of this type.
Error in table2array (line 27)
a = t{:,:};
Error in l_std (line 5)
label = table2array(labels);
When I run it in the main tab, it works fine. I just cannot run it in another function (in another tab).
Can anyone advise where is the error and how to solve it?
0 Comments
Accepted Answer
M.Many
on 28 Nov 2020
Edited: M.Many
on 28 Nov 2020
labels = data{:,end};
Use this to directly get labels as an array instead of a table. There is no need to use table2array.
10 Comments
Walter Roberson
on 29 Nov 2020
We do not know, as we have not seen the code for that other "tab".
I am not even clear what a "tab" is for this purpose?
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!