我是Stata语法的新手,无法弄清楚我想做的语法:
假设我的图表如下:
var1 var2 var3
1.3 4.5 3.3 (row 1)
3.3 2.3 3.6 (row 2)
4.5 1.1 2.2 (row 3)
我想运行一个我写的命令但是除了每一行之外的所有值(也就是说,我想用第2 + 3,第1 + 3和第1 + 2行运行我的程序以给出3个不同的输出)。
我想知道如何从for i= 1
到#行和for循环中进行for循环:
delete row[i]
run the program, give output
insert row[i]
我似乎无法在网上找到任何合适的内容。
答案 0 :(得分:1)
如果您要运行的命令与if
一起使用,我认为您可以相对轻松地实现此目的。在这里,我计算var1
的总和,每次排除第N行:
input var1 var2 var3
1.3 4.5 3.3
3.3 2.3 3.6
4.5 1.1 2.2
end
gen results = .
foreach n of numlist 1/3 {
* Exclude row n from the calculation
quietly summ var1 if [_n] != `n'
local total = r(sum)
* Store the results in the row that is currently excluded
replace results = `total' if [_n] == `n'
}