Error combining splitapply and regress
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Nabil Benhadda
 il 27 Apr 2020
  
    
    
    
    
    Commentato: Nabil Benhadda
 il 29 Apr 2020
            Hello,
I have a table named 'T' containing a set of stock returns for different stocks as well as the market return for all days the stock returns are presented. I have divided my table into groups based on the stock and now I am trying to create a regression that uses the stock return as the dependant variable and a constant and the market return as the independant/explainatory variables, however I get the error message 'Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.'
I used the code as follow:
T.Groups = findgroups(T.Numero)
T.Ones = ones(length(T.MarketReturn),1);
X = splitapply(@regress(T.StockReturn,[T.Ones T.MarketReturn]),T,T.Groups);
0 Commenti
Risposta accettata
  dpb
      
      
 il 27 Apr 2020
        First argument is just a function handle or an anonymous function -- you mixed metaphors by trying to call a function and call that a handle...
X = splitapply(@(x1,x2,y) regress(y,[x1 x2]),T.Ones,T.MarketReturn,T.StockReturn,T.Groups);
3 Commenti
  dpb
      
      
 il 28 Apr 2020
				Oh, yeah.  splitapply doesn't automagically use a cell array when need. 
Did you try the advice given in the error message?  It shows exactly how to write for purpose; simply add the {} to return cell.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

