In short, I need to find specific data in a table, and change cells based on that search.
I’m attempting to append one table’s columns to another table, and this needs to be done at rows matching at two certain columns (name and date). So, to the first table, that has name, date and other columns, I want to add columns from another table and the names and date needs to match between the first and second table.
So, my strategy is to search up the index in the first table that has the name of that for the second table, and use that index to insert data from the second table into the first. Same about the dates, for each name.
I've made the dimensions of the first table correct by appending zeroed columns and added column names, making room for the new data. So far so good. Now I need to figure out the indexes such that I can with T(rows, vars) insert the data from the second table into the first. But T(rows, vars) seems to return a new table, while I want to modify the original.
Matlab has in this area high-level functionality (see "Access Data in Tables"), but I want to index into a table in order to change it. That is, it is searches with the purpose to modify, not read-only operations. Any ideas how to approach this? If my approach is right, the first step is to find the indices in the first table where the data is to be inserted.
(It’s unbalanced panel data; all data is in CSV files. I actually have about hundred of the second table(s), but the principle is the same I think, I just will have to loop.)
Best Answer