Error when combine tables vertically under some circumstances
8 次查看(过去 30 天)
显示 更早的评论
I have two sets of data, up_data and upt_data. They have the same variable names. But when I try to use [up_data; upt_data] to combine them, error pops out as following:
An error occurred when concatenating the table variable 'posture' using VERTCAT.
Caused by:
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Here is a test to show that the variable names are the same.
However, when I write them into csv files and then read them back as follows:
writetable(up_data, 'up_data.csv');
writetable(upt_data, 'upt_data.csv');
up_data = readtable('up_data.csv');
upt_data = readtable('upt_data.csv');
upright_alldata = [up_data ; upt_data];
It works perfectly well. I wonder what went wrong. I attached the csv files as well for your references.
5 个评论
Scott MacKenzie
2021-6-8
编辑:Scott MacKenzie
2021-6-8
I suggest you provide an example minimal set of MATLAB statements that generates the error you are seeing. Furthermore, to make things easier for someone trying to help you, it's best to do this by embedding the code directly in your question or comment
采纳的回答
Cris LaPierre
2021-6-8
编辑:Cris LaPierre
2021-6-8
I've edited your post to run your data and display the underlying issue.
You use char arrays to create posture. To combine char arrays, they must have the same number of characters. However, in one table you use 'upright' and in the other you use 'upright_t'.
The simplest fix is to use strings instead.
pos_up = table(repmat("upright", size(up_data, 1), 1));
pos_upt = table(repmat("upright_t", size(upt_data, 1), 1));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!