Matching Values from one Table to Another
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jana Sarran
am 27 Mär. 2023
Kommentiert: Joe Vinciguerra
am 28 Mär. 2023
Hi everyone,
Is there a way from me to match the numbers in two dataset and extract the values in the row?
For instance,
This is my first table:
This is my second table:
What is would like to do---> I would like to search for my second table values in the first table, specifically under "FirstVID" and "SecondVID". Once I have a match of these values, I would like the numbers on "FirstVID" or "SecondVID" to be replaced by the string "AV".
Is this posssible?
Thank you.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 27 Mär. 2023
Change
FirstVID = NewTab (:,["FirstVID"])
to
FirstVID = NewTab {:,["FirstVID"]};
Weitere Antworten (1)
Joe Vinciguerra
am 27 Mär. 2023
Veh = [2007; 1265; 1266; 1269];
FirstVID = [1881; 1269; 2007];
SecondVID = [1892; 2188; 1266];
T = table(FirstVID, SecondVID);
% find data common to each table
[~, ~, ib1] = intersect(Veh, T.FirstVID);
[~, ~, ib2] = intersect(Veh, T.SecondVID);
% Convert to cell since you want mixed data types
T.FirstVID = num2cell(T.FirstVID);
T.SecondVID = num2cell(T.SecondVID);
% using the indexing found above, replace with "AV"
T.FirstVID(ib1) = {'AV'};
T.SecondVID(ib2) = {'AV'};
disp(T)
Alternately, you could avoid converting to cells and simply repalce the indexed values with NaN, unless having it read "AV" is necessary.
2 Kommentare
Joe Vinciguerra
am 28 Mär. 2023
Glad you were able to resolve your error in the other thread. Please accept my answer.
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!