outerjoin using Row Names as key?

5 次查看(过去 30 天)
Anil
Anil 2016-1-6
评论: FM 2023-1-31
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?)

回答(1 个)

Peter Perkins
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
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by