Join two table variables into one. == does not works of table type
Afficher commentaires plus anciens
Hello everybody,
I have two table variables, and would like to join them.
After comparing 1st column to 7th column of df3 and df4 variables,
if the row from 1st to 7th column is exactly same, then I hope to add the test2 column of df4
into dfcombine variable.
Please give me some helps.... == does not works of table type.
load input03.mat
dfcombine = df3;
for i=1:height(df3)
ind = find(df3(i,1:7)==df4(:,1:7));
dfcombine(i,9) = df4(ind,8);
end
I hope to make the dfcombine variable as below picture.

Réponse acceptée
Plus de réponses (2)
Walter Roberson
le 22 Sep 2022
0 votes
You are doing () indexing on a table. The result would be a table row. You compare that to something else that is probably a table. But two tables can only compare if the variable names are the same... which we do not know to be true.
1 commentaire
Smithy
le 22 Sep 2022
HYEONSEOK SEOK
le 22 Sep 2022
0 votes
For comparing something with logical, table need to change to array
see as below:
clear all ; close all; clc;
load("input03.mat")
for i = 1:height(df3)
for j = 1:7
for k = 1:height(df4)
if sum(j == [5,6])
checker(k,j)=sum((df3{i,j}==df4{k,j}),1);
else
checker(k,j)=sum(strcmp(df3{i,j},df4{k,j}),1);
end
end
end
if sum(sum(checker,2) > 5) % if no nan value - change to 6
test2(i,1) = df4((sum(checker,2) > 5),8);
else
test2(i,1)= {NaN};
end
end
dfcombin = [df3,test2];
1 commentaire
Smithy
le 22 Sep 2022
Catégories
En savoir plus sur Variables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!