Unable to call table2array in another function
4 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!