Unable to call table2array in another function
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
M.Many
2020-11-28
编辑:M.Many
2020-11-28
labels = data{:,end};
Use this to directly get labels as an array instead of a table. There is no need to use table2array.
10 个评论
Walter Roberson
2020-11-29
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?
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!