Table: how to extract rows that contain a certain string and put those values into a new column?

27 visualizzazioni (ultimi 30 giorni)
eg if my table looks like this:
column 1 column 2 column 3 column 4
083282 128033 houseman eiuefief
983298 120942 penhouse wfdwhf
239832 108128 random idqiydqy
Say I want to extract all column 3 rows that contain the string "house" and put these values into column 5 so they look like this:
column 1 column 2 column 3 column 4 column 5
083282 128033 houseman eiuefief houseman
983298 120942 penhouse wfdwhf penhouse
239832 108128 random idqiydqy
Because column 5 has to have the same height as the other columns, the rows that don't contain the column can have NaN, 0, missing or something else to indicate that they don't contain anything:
column 1 column 2 column 3 column 4 column 5
083282 128033 houseman eiuefief houseman
983298 120942 penhouse wfdwhf penhouse
239832 108128 random idqiydqy NaN

Risposta accettata

Walter Roberson
Walter Roberson il 21 Mar 2020
YourTable.NewVariableName = string(nan(height(YourTable, 1)));
mask = contains(YourTable{:,3}, "house");
YourTable.NewVariableName(mask) = YourTable{mask,:3};

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by