Path: news.mathworks.com!not-for-mail From: "Tom Lane" <tlane@mathworks.com> Newsgroups: comp.soft-sys.matlab Subject: Re: Multiple regression with dummy variable Date: Wed, 6 Nov 2013 12:25:59 -0500 Organization: MathWorks Lines: 32 Message-ID: <l5du38$6hk$1@newscl01ah.mathworks.com> Reply-To: "Tom Lane" <tlane@mathworks.com> NNTP-Posting-Host: ah-tlane.dhcp.mathworks.com Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=response Content-Transfer-Encoding: 8bit X-Trace: newscl01ah.mathworks.com 1383758760 6708 172.28.17.232 (6 Nov 2013 17:26:00 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Wed, 6 Nov 2013 17:26:00 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726 X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726 Xref: news.mathworks.com comp.soft-sys.matlab:804896 (Sorry for earlier incomplete reply.) >> Im running a multiple linear regression that looks like (I have >> banks-year observations): >> >> y = b1*x1+b2*x2+b3*x3+b4*x4+ error >> >> where x4 is a dependent dummy variable that takes value of 1 (if the bank >> is audited by a big4 auditor firm) and 0 (if a bank isnt audited by a >> big4 auditor firm). >> >> The question is: how I must define the dummy variable to run the >> regression (estimate the coefficients)? I think that I should use >> dummyvar, but I dont unterstand how it works. > > This depends on what you are starting with. Perhaps you can define x1 > directly to have these 0/1 values. Suppose you have a variable named > auditor defined as a cell array of strings representing the auditor names. > Then you might try >> auditor = {'PWC' 'Audits R Us' 'KPMG'}'; >> big4 = {'Deloitte' 'PWC' 'Ernst & Young' 'KPMG'}'; >> x1 = ismember(auditor,big4) x1 = 1 0 1 The strcmp or similar function might also be useful in some cases. -- Tom