outerjoin using Row Names as key?
6 次查看(过去 30 天)
显示 更早的评论
The join operation supports table merging using the table row names as key (using the flag 'keys','RowNames'). This functionality doesn't appear to be available when using innerjoin or outerjoin? Is there a workaround for this (I'm currently considering creating a wrapper function that explicitly adds the rownames to a column in both tables, joins using the column, and then readds the rownames, but I feel this may be fairly slow?)
0 个评论
回答(1 个)
Peter Perkins
2016-1-6
Row names have to be unique, so I think you're wanting to do something that might be described as more of a merge than a full-blown inner/outer join where there might be many-to-many matches. And if you have a one-to-one correspondence between the two tables, the join function does accept 'RowNames'. But you're correct, the inner/outerjoin functions don't support this directly.
Your idea of adding he row names as an explicit key var will work, I think you could do also use setdiff on the row names and then concatenation. Hope this helps.
1 个评论
FM
2023-1-31
For the sake of consistency and convenience, I wonder of TMW would add the ability to inner/outer join based on RowNames. It would certainly streamline the coding compared to having to add the variable and later to remove it.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!