![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/645955/image.jpeg)
Error when combine tables vertically under some circumstances
조회 수: 24 (최근 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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/645940/image.png)
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!