📄 anova_terms.ado
字号:
*! version 1.0.2 29oct2002
program define anova_terms , rclass
version 8
if "`e(cmd)'" != "anova" & "`e(cmd)'" != "manova" {
error 301
}
local noconst "noconstant" /* noconstant until proven otherwise */
anovadef, alt
local i 1
local tname `r(tn`i')'
if "`tname'" == "1" { /* there is a constant in the model */
local noconst
local i = `i' + 1
local tname `r(tn`i')'
}
while "`tname'" != "" {
local tlev `r(tl`i')'
if "`tname'" != "`prevname'" {
if "`tlev'" == "c" {
AddUniq cterms "`tname'" "`cterms'"
local rhs `rhs' `tname'
}
else {
local n : word count `tname'
local aterm : word 1 of `tname'
local alev : word 1 of `tlev'
if "`alev'" == "c" {
AddUniq cterms "`aterm'" "`cterms'"
}
forvalues j = 2/`n' {
local item : word `j' of `tname'
local aterm "`aterm'*`item'"
local alev : word `j' of `tlev'
if "`alev'" == "c" {
AddUniq cterms "`item'" /*
*/ "`cterms'"
}
}
local rhs `rhs' `aterm'
}
}
local prevname `tname'
local i = `i' + 1
local tname `r(tn`i')'
}
local opts `noconst'
if "`cterms'" != "" {
local opts `opts' cont(`cterms')
}
return local continuous `cterms'
return local opts `opts'
return local rhs `rhs'
end
program define AddUniq /* lclmacname item list */
args lclmacname item list
foreach x of local list {
if "`x'" == "`item'" {
local found 1
continue, break
}
}
if "`found'" == "" {
if "`list'" == "" {
c_local `lclmacname' "`item'"
}
else {
c_local `lclmacname' "`list' `item'"
}
}
else {
c_local `lclmacname' "`list'"
}
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -