Containers.Map how to set keys and values
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
xander fong
am 22 Jul. 2015
Kommentiert: xander fong
am 24 Jul. 2015
Hello, so I want to create a Containers.Map. However, I am unsure of how to create it as the data that I want to use as key values is embedded in a cell array. For example, the cell array is 15x1 and looks like this: [1501x15 table, 1501x15 table....etc]I want to create a containers map that uses the 6th column of EACH table as the key values and the 8th column as the pairing values. How do I go about doing this?
0 Kommentare
Akzeptierte Antwort
Sudhanshu Bhatt
am 24 Jul. 2015
Bearbeitet: Sudhanshu Bhatt
am 24 Jul. 2015
Hi Xander,
I am assuming that you already have a cell array which contains tables as cells.
For this example we will consider the following structure:
TableName T1 ; Columns: Age,Height,Weight,BloodPressure,LastName
TableName T2 ; Columns: Age,Height,Weight,BloodPressure,LastName
Step 1: Fetch a Table from the cell array :
>> grabATable = tableAsCells{1};
Step 2: Fetch columns from the table that you want to keep as keys:
>> keySets = table2cell(grabATable(:,5));
The function "table2cell" will convert the 5th column of the table elements into a cell array , which will act as our keys in the container.Map object.
Step 3: Fetch column from the table to be the values:
>> valueSets = table2cell(grabATable(:,3));
The function "table2array" will convert the 5th column of the table elements into a cell , which will act as our values in the container.Map object. NOTE: We could also use "table2array" function here.
Step 4: Put the keySets and valueSets in a container.Map object:
>> mapObj = containers.Map(keySets,valueSets);
Step 5: Fetching values form the map.
>> mapObj('Any_Key_From_keySets_cell_array');
For Example:
>> mapObj('Williams');
More information on "table2cell" , "table2array" and "containers.Map" can be found in the documentation links below:
Note: If you have to append in the map, if can be only done column wise.
I have attached a sample code to try this.
Hope this helps.
Thanks
Sudhanshu Bhatt
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dictionaries 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!