For loop forvalues中的表达式在Stata中
我想用Stata代码表示以下内容:For loop forvalues中的表达式在Stata中,for-loop,stata,For Loop,Stata,我想用Stata代码表示以下内容: for(i=0;i<n;++i) { for(j=i+1;j<n-1;++j) { print i*j; } } 但是的内部有表达式,我不知道如何表达 PS:我想我知道如何使用局部变量或来表达相同的内容,但是我想避免这种情况。这个代码片段演示了一些技巧。它假定先前定义了本地宏n 长版本: local I = `n' - 1 forval i = 0/`I' { local J = `I' - 1 loca
for(i=0;i<n;++i) {
for(j=i+1;j<n-1;++j) {
print i*j;
}
}
但是的内部有表达式,我不知道如何表达
PS:我想我知道如何使用局部变量或来表达相同的内容,但是我想避免这种情况。这个代码片段演示了一些技巧。它假定先前定义了本地宏n
长版本:
local I = `n' - 1
forval i = 0/`I' {
local J = `I' - 1
local ip1 = `i' + 1
forval j = `ip1'/`J' {
display `i' * `j'
}
}
forval i = 0/`= `n' - 1' {
forval j = `=`i' + 1'/`= `n' - 2' {
display `i' * `j'
}
}
较短版本:
local I = `n' - 1
forval i = 0/`I' {
local J = `I' - 1
local ip1 = `i' + 1
forval j = `ip1'/`J' {
display `i' * `j'
}
}
forval i = 0/`= `n' - 1' {
forval j = `=`i' + 1'/`= `n' - 2' {
display `i' * `j'
}
}
注意:术语“局部变量”只是Stata术语的一个大杂烩,以及您自己从其他地方导入的变量。在Stata术语中:这里的野兽是本地宏,代码中没有变量
注意:Mata更接近您给出的类似C的语法
注意:在使用本地宏时,不能避免使用本地宏forvalues
是关于使用本地宏来控制循环的
注意:正确的拼写是“Stata”。这种语言在1985年才短暂地被称为“STATA”。是什么导致你采用这种不正确的拼写 对不起,我听不懂你的笔记。注1)为什么Mata语法在这个问题中很重要?在斯塔塔,我们能用玛塔吗?注2)我认为你的句子对任何肯定都是正确的(p=>p)。是我错过了什么吗?注3:“是什么导致您采用这种不正确的拼写?”???STATA名称?您的代码是Mata代码,您可以使用Mata:
@Metrics在STATA中执行。几乎正确:请尝试在Mata中打印print
。对于其余部分,拼写是“Stata”而不是“Stata”。您询问了如何在不使用本地宏的情况下执行此操作,但是forvalues
都是关于使用本地宏来控制循环的。