Error using @regress fuction
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello, I am trying to create a function as follows with a set of variables that I get from a table named Change1:
X = [Change1.Ones Change1.ReturnsMarket]
func = @regress(Change1.ReturnsCleaned,X);
However, everytime I get the following error message:
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for
mismatched delimiters.
Thank you all for your help !
댓글 수: 0
채택된 답변
Star Strider
2020년 2월 24일
Try this:
func = @(Q)regress(Q,X);
then call it as:
[b,bint] = func(Change1.ReturnsCleaned);
(It seems a bit inefficient to me to wrap regress in an anonymous function. Personal opinion only.)
댓글 수: 0
추가 답변 (2개)
Walter Roberson
2020년 2월 24일
The @ operator can be used in four related syntaxes:
@NAME : create handle to function indicated by the name
@NAME1.NAME2 : create handle to function whose name inside its Package is as given
@() EXPRESSION : create handle to anonymous function with no parameters that evaluates to the given expression when invoked
@(NAME LIST) EXPRESSION : create handle to anonymous function with dummy parameters named inside the ()
You however have @EXPRESSION which is not valid syntax.
@ always has to do with creating handles, except possibly for some class definition purposes. If you want to invoke regress function instead of creating a handle then leave out the @
댓글 수: 0
Nabil Benhadda
2020년 2월 24일
댓글 수: 6
Walter Roberson
2020년 2월 25일
Q = Change1.ReturnsCleaned;
You are using that as your grouping variable, but it is not obvious to us that it contains only positive integers.
Change1.Groups = findgroups(Change1.Numero);
X = [Change1.Groups Change1.Ones Change1.ReturnsMarket];
findgroups does return the kind of positive integers needed for a grouping variable, but you are folding that information in as part of X and using X as the variable to be split rather than as the grouping variable. That seems odd.
참고 항목
카테고리
Help Center 및 File Exchange에서 Whos에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!