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!