2016-06-23 1 views
1

У меня есть таблица размером 6x2. У меня есть другая таблица с размерами 4x1, я пытался добавить маленькую таблицу в большую, но я не мог этого сделать из-за различий в размерах. Есть ли у вас какие-либо предложения по этому поводу?Matlab добавляет строки в таблицу из другой таблицы с различными размерами

Пример кода:

id = {'AB';'ZX';'DF4';'CA';'AC';'FG'} 
mean = [1.5;2;3;1.15;3.06;1] 
table1 = table(id,mean); 

id2 = {'ZZ';'ZB';'FG';'4FA'}; 
table2 = table(id2); 
table2.Properties.VariableNames = {'id'}; 

Я затем вычислить среднее из последних 4-х строк с использованием в среднем первого 6.

ответ

3

Прежде всего, и это очень важно: Не называть переменную «означает», поскольку это средняя функция в MATLAB.

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

id = {'AB';'ZX';'DF4';'CA';'AC';'FG'}; 
mean_values = [1.5;2;3;1.15;3.06;1]; %way better than 'mean' 
table1 = table(id,mean_values); 

id2 = {'ZZ';'ZB';'FG';'4FA'}; 
table2 = table(id2); 
table2.Properties.VariableNames = {'id'}; 
%add some sort of data like NaN 
table3=[table1;[table2 table(nan(height(table2),1),'Variablenames',{'mean_values'})]]; 

вы также можете использовать нули или единицы или любое другое число, но они, возможно, inflluence ваш расчет среднего (среднее значение), а NaN не:

mean([3 5 nan],'omitnan') 

если вы получаете сообщение об ошибке при использовании среднего слова «Индексы индексов должны быть либо натуральными целыми положительными, либо логическими». Вы должны использовать

clear mean 

или удалить его вручную из рабочей