问题目标:想利用局部暂元local和forvalues循环语句将所有因子的特征值加总求和
问题关键:如何在定义局部暂元时以及循环语句中引用 e(Ev) 中的元素
补充说明:我知道返回值中有 e(evsum),只是想自己编程计算一下。
命令如下:
. use https://stats.idre.ucla.edu/stat/stata/output/m255, clear
. factor item13-item24, ipf factor(3)
//ipf: iterated principal factor 采用迭代的主因子分析法
//factor(3): 要保留的因子的最大个数
*图01:因子分析结果
. matrix list e(Ev) //显示特征值向量
*图02:特征值向量
* 目标:利用e(Ev) 进行特征值加总求和
* 以下命令不成功,主要原因是自己不知如何引用e(Ev)中的元素
* 标红之处就是错误的引用,也是向各位老师和坛友求助之处
. local SEV _b[Factor1:Eignvalue]
. forvalues i = 2/12 {
local SEV `SEV' + _b[Factor`i':Eignvalue]
}
. scalar define Ev_sum = `SEV'
. dis "sum(Ev) = " Ev_sum
解决方法01:参见三楼(藤椅)坛友 @heric221 利用mata语言的方案;
解决方法02:参见四楼(板凳)我查阅 factor.ado 文件中的代码所模仿的方案;


雷达卡





京公网安备 11010802022788号







