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.

 채택된 답변

Walter Roberson
Walter Roberson 2023년 3월 27일

0 개 추천

Change
FirstVID = NewTab (:,["FirstVID"])
to
FirstVID = NewTab {:,["FirstVID"]};

추가 답변 (1개)

Joe Vinciguerra
Joe Vinciguerra 2023년 3월 27일
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)
FirstVID SecondVID ________ _________ {[1881]} {[1892]} {'AV' } {[2188]} {'AV' } {'AV' }
Alternately, you could avoid converting to cells and simply repalce the indexed values with NaN, unless having it read "AV" is necessary.

댓글 수: 2

Jana Sarran
Jana Sarran 2023년 3월 27일
Thank you for the help.
I tried using this code but I am getting an error message.
Please see the attached pdf document for the message.
It says that there is an error using Tabular/Intersect
Glad you were able to resolve your error in the other thread. Please accept my answer.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Tables에 대해 자세히 알아보기

질문:

2023년 3월 27일

댓글:

2023년 3월 28일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by