Объединить таблицу с различными строками в Matlab, но я должен поместить свой файл рядом - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть два файла с разными строками, но с одинаковым количеством столбцов.Я хочу объединить эти две данные вместе, я мог бы использовать vertcat, но он будет объединять только данные ниже первых данных, я хочу, чтобы они объединялись бок о бок.

file1 = readtable('table1.csv'); 
file2 = readtable('table2.csv');
 Com = [file1; file2];

Это работает, но мне нужны данные, который я должен получить, как будто я делаю horizcat.

Большое спасибо за помощь

1 Ответ

0 голосов
/ 17 ноября 2018

Вы можете использовать vertcat, только если обе матрицы содержат одинаковое количество столбцов, и вы можете использовать только horzcat, если они содержат одинаковое количество строк.Так как в ваших таблицах разное количество строк, вы не можете использовать их как есть.

Путем заполнения более короткой матрицы дополнительными значениями вы можете использовать horzcat, если это приемлемо.Код ниже добавит блок 0 в нижней части более короткой матрицы, прежде чем объединять данные бок о бок.

file1 = readtable('table1.csv'); 
file2 = readtable('table2.csv');


if (size(file1, 1) < size(file2,1))
  file1 = [file1; zeros(size(file2,1)-size(file1,1), size(file1,2))];
else
  file2 = [file2; zeros(size(file1,1)-size(file2,1), size(file2,2))];
end

Com = [file1 file2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...