Error combining splitapply and regress

1 visualizzazione (ultimi 30 giorni)
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);

Risposta accettata

dpb
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
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.
Nabil Benhadda
Nabil Benhadda il 29 Apr 2020
Thank you again !

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Descriptive Statistics in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by