MATLAB Answers

Unable to call table2array in another function

2 views (last 30 days)
Hanisah Rashid
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

Sign in to comment.

Accepted Answer

M.Many
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

Show 7 older comments
Hanisah Rashid
Hanisah Rashid on 29 Nov 2020
hi both, I did the dbstop if error and dbup to find the class for labels, and apparently I got it as double. However, when I remove the table2array line and change the next to functions to std(labels) and mean(labels), I got the error to run the std function instead due to invalid data type..
Hanisah Rashid
Hanisah Rashid on 29 Nov 2020
I understand that I can set the initial variables directy to arrays and change back to table when I needed it, but I'm just stumped figuring out where I got it wrong.
Walter Roberson
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?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!