Hello.
I am currently working on my bachelor thesis where I am performing a regression analysis on divdend policy and board characteristics.
I have my data in an Excel file and already wrote the code to build my panel data set and for both a summary table and correlation matrix.
Everytime I run the code, Stata returns the error code varlist required (r100).
I would be thankful for any advice on how to fix this, as I unfortunately couldn´t figure it out myself.
local sheets "Dividend DPS DY Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Total_Assets Net_Income Total_Equity Total_Liabilities Cash_Holdings Capital_Expenditures Market_Value RnD Total_Sales"
foreach sheet in `sheets' {
import excel "Datensatz_Kopie.xlsx", sheet("`sheet'") firstrow clear
rename ISIN year
label variable year "year"
noi ds year, not
foreach var in `r(varlist)' {
noi destring `var', replace force
noi capture assert mi(`var')
if !_rc {
drop `var'
}
}
save "tmp_Balance_Sheet_`sheet'.dta", replace
}
local sheets "Dividend DPS DY Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Total_Assets Net_Income Total_Equity Total_Liabilities Cash_Holdings Capital_Expenditures Market_Value RnD Total_Sales"
foreach sheet in `sheets' {
use "tmp_Balance_Sheet_`sheet'.dta", clear
noi ds year, not
foreach var of varlist `r(varlist)' {
use "tmp_Balance_Sheet_`sheet'.dta", clear
keep year `var'
rename `var' `sheet'`var'
gen byte OK = !missing(`sheet'`var')
drop if OK == 0
drop OK
capture noisily reshape long `sheet', i(year) j(ISIN) string
save "tmp1_`sheet'`var'.dta", replace
}
local datafiles : dir . files "tmp1_`sheet'*.dta"
noi di `datafiles'
local firstfile: word 1 of `datafiles'
noi di "`firstfile'"
use "`firstfile'", clear
sort year ISIN
foreach datafile in `datafiles' {
if "`datafile'" ~= "`firstfile'" {
merge 1:1 year ISIN using `datafile', nogen
sort ISIN
erase "`datafile'"
}
}
erase "`firstfile'"
sort ISIN year
save "Balance_Sheet_`sheet'.dta", replace
}
use "Balance_Sheet_Total_Assets.dta", clear
sort ISIN year
foreach sheet in `sheets' {
noi merge 1:1 ISIN year using "Balance_Sheet_`sheet'.dta", nogen
erase "tmp_Balance_Sheet_`sheet'.dta"
erase "Balance_Sheet_`sheet'.dta"
label variable `sheet' "`sheet'"
sort ISIN year
}
egen long id = group(ISIN)
label variable id "id"
move id ISIN
label variable ISIN "ISIN"
save panel.dta, replace
import excel Datensatz_Kopie.xlsx, sheet("Company_List") firstrow clear
keep Name ISIN
save Company_List.dta, replace
use panel.dta
merge m:1 ISIN ISIN using Company_List.dta, nogen
move Name ISIN
drop if missing(year)
erase Company_List.dta
save panel.dta, replace
*Hier werden alle benötigten Variablen generiert
*Eine binäre Jahresvariable
tab year, gen(year_)
*Abhängige Variablen für primäres und sekundäres Modell
*Dividend Payout Ratio
gen DPR = Dividend/Net_Income
*Dividend-to-Assets Ratio
gen DAR = Dividend/Total_Assets
*Dividend-to-Sales Ratio
gen DSR = Dividend/Total_Sales
*Kontrollvariablen
*Unternehmensgröße: Natürlicher Logarithmus der Total Assets
gen Size_ln = ln(Total_Assets)
*Profitabilität: ROA
gen ROA_TA = Net_Income/Total_Assets
*Leverage
gen Lev_TA = Total_Liabilities/Total_Assets
*Cash Holdings im Verhältnis zu Total Assets
gen CH_TA = Cash_Holdings/Total_Assets
*Capital Expenditures im Verhältnis zu Total Assets
gen CAPEX_TA = Capital_Expenditures/Total_Assets
*Market-to-Book Ratio
gen MBR = Market_Value/Total_Equity
*Research and Development im Verhältnis zu Total Assets
replace RnD = 0 if missing(RnD)
gen RnD_TA = RnD/Total_Assets
*Dummy-variable für Verlust gemessen an Net Income
gen Loss_Dummy = 0 if Net_Income =< 0
replace Loss_Dummy = 1 if Net_Income > 0
save panel.dta, replace
************************************************** ******************************
*Für einen ersten Überblick über den Datensatz verwende ich den summarize Befehl
summarize DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy
summarize DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, detail
*Die folgenden Befehle generieren eine Summary-Tabelle und eine Korrelationsmatrix für unsere Variablen.
ssc install asdoc
asdoc pwcorr DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, replace star(0.05) label save(C:\Users\maxi2\Desktop\Bachelorarbeit\Stata\K orrelation.doc) dec(2) label replace
asdoc tabstat DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, stat(mean median sd min max count) save(C:\Users\maxi2\Desktop\Bachelorarbeit\Stata\S ummary.doc) dec(2) label replace
I am currently working on my bachelor thesis where I am performing a regression analysis on divdend policy and board characteristics.
I have my data in an Excel file and already wrote the code to build my panel data set and for both a summary table and correlation matrix.
Everytime I run the code, Stata returns the error code varlist required (r100).
I would be thankful for any advice on how to fix this, as I unfortunately couldn´t figure it out myself.
local sheets "Dividend DPS DY Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Total_Assets Net_Income Total_Equity Total_Liabilities Cash_Holdings Capital_Expenditures Market_Value RnD Total_Sales"
foreach sheet in `sheets' {
import excel "Datensatz_Kopie.xlsx", sheet("`sheet'") firstrow clear
rename ISIN year
label variable year "year"
noi ds year, not
foreach var in `r(varlist)' {
noi destring `var', replace force
noi capture assert mi(`var')
if !_rc {
drop `var'
}
}
save "tmp_Balance_Sheet_`sheet'.dta", replace
}
local sheets "Dividend DPS DY Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Total_Assets Net_Income Total_Equity Total_Liabilities Cash_Holdings Capital_Expenditures Market_Value RnD Total_Sales"
foreach sheet in `sheets' {
use "tmp_Balance_Sheet_`sheet'.dta", clear
noi ds year, not
foreach var of varlist `r(varlist)' {
use "tmp_Balance_Sheet_`sheet'.dta", clear
keep year `var'
rename `var' `sheet'`var'
gen byte OK = !missing(`sheet'`var')
drop if OK == 0
drop OK
capture noisily reshape long `sheet', i(year) j(ISIN) string
save "tmp1_`sheet'`var'.dta", replace
}
local datafiles : dir . files "tmp1_`sheet'*.dta"
noi di `datafiles'
local firstfile: word 1 of `datafiles'
noi di "`firstfile'"
use "`firstfile'", clear
sort year ISIN
foreach datafile in `datafiles' {
if "`datafile'" ~= "`firstfile'" {
merge 1:1 year ISIN using `datafile', nogen
sort ISIN
erase "`datafile'"
}
}
erase "`firstfile'"
sort ISIN year
save "Balance_Sheet_`sheet'.dta", replace
}
use "Balance_Sheet_Total_Assets.dta", clear
sort ISIN year
foreach sheet in `sheets' {
noi merge 1:1 ISIN year using "Balance_Sheet_`sheet'.dta", nogen
erase "tmp_Balance_Sheet_`sheet'.dta"
erase "Balance_Sheet_`sheet'.dta"
label variable `sheet' "`sheet'"
sort ISIN year
}
egen long id = group(ISIN)
label variable id "id"
move id ISIN
label variable ISIN "ISIN"
save panel.dta, replace
import excel Datensatz_Kopie.xlsx, sheet("Company_List") firstrow clear
keep Name ISIN
save Company_List.dta, replace
use panel.dta
merge m:1 ISIN ISIN using Company_List.dta, nogen
move Name ISIN
drop if missing(year)
erase Company_List.dta
save panel.dta, replace
*Hier werden alle benötigten Variablen generiert
*Eine binäre Jahresvariable
tab year, gen(year_)
*Abhängige Variablen für primäres und sekundäres Modell
*Dividend Payout Ratio
gen DPR = Dividend/Net_Income
*Dividend-to-Assets Ratio
gen DAR = Dividend/Total_Assets
*Dividend-to-Sales Ratio
gen DSR = Dividend/Total_Sales
*Kontrollvariablen
*Unternehmensgröße: Natürlicher Logarithmus der Total Assets
gen Size_ln = ln(Total_Assets)
*Profitabilität: ROA
gen ROA_TA = Net_Income/Total_Assets
*Leverage
gen Lev_TA = Total_Liabilities/Total_Assets
*Cash Holdings im Verhältnis zu Total Assets
gen CH_TA = Cash_Holdings/Total_Assets
*Capital Expenditures im Verhältnis zu Total Assets
gen CAPEX_TA = Capital_Expenditures/Total_Assets
*Market-to-Book Ratio
gen MBR = Market_Value/Total_Equity
*Research and Development im Verhältnis zu Total Assets
replace RnD = 0 if missing(RnD)
gen RnD_TA = RnD/Total_Assets
*Dummy-variable für Verlust gemessen an Net Income
gen Loss_Dummy = 0 if Net_Income =< 0
replace Loss_Dummy = 1 if Net_Income > 0
save panel.dta, replace
************************************************** ******************************
*Für einen ersten Überblick über den Datensatz verwende ich den summarize Befehl
summarize DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy
summarize DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, detail
*Die folgenden Befehle generieren eine Summary-Tabelle und eine Korrelationsmatrix für unsere Variablen.
ssc install asdoc
asdoc pwcorr DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, replace star(0.05) label save(C:\Users\maxi2\Desktop\Bachelorarbeit\Stata\K orrelation.doc) dec(2) label replace
asdoc tabstat DPR Board_Meetings CEO_Separation Board_Size Board_Independence Board_Diversity Board_Tenure Size_ln ROA_TA Lev_TA CH_TA CAPEX_TA MBR RnD_TA Loss_Dummy, stat(mean median sd min max count) save(C:\Users\maxi2\Desktop\Bachelorarbeit\Stata\S ummary.doc) dec(2) label replace
Comment