Just saw this other thread asking pretty much the same question
Way to concatenate tables with some but not all variables in common?
    18 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I am trying to concatenate several similar tables that have mostly the same variables, but a few differences. In the cases of different variables I'd want to pad values with NaN.
For example:
A =
    var1    var2
    ____    ____
    1       2
B =
    var1    var3
    ____    ____
    1       3
C=somefunction(A,B)
C =
    var1    var2    var3
    ____    ____    ____
    1         2     NaN 
    1       NaN       3
Is there any canned function that does this?
2 Commenti
  Peter Perkins
    
 il 7 Lug 2017
				Gabe, hacking outerjoin to do vertical concatenation is super clever, but I think it isn't going to work for you, because the common variables that you'd use as the "key" (Var1 in your example) have values in common. At least in your example they do.
I think you'd be safer just finding the setxor of the two lists of var names, and creating the vars you need using NaNs.
Risposte (1)
  Sterling Baird
      
 il 5 Set 2020
        
      Modificato: Sterling Baird
      
 il 5 Set 2020
  
      Here is a "canned" FEX function (tblvertcat) I just refactored using some old code I wrote a while ago and based on a MATLAB Answers post. It can be used for an arbitrary number of tables, and supports double, char, cell, struct, etc.
0 Commenti
Vedere anche
Categorie
				Scopri di più su Data Type Identification in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


