全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
511 3
2023-11-13
就是这样的公式
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-11-13 22:30:56
如果不考虑i>j的情况,应该这样:
count
local obs = r(N)
local sum=0
forvalues i=1/`obs' {
    forvalues j=1/`obs' {
        local sum = `sum'+abs(x[`i']-x[`j'])
    }
}
可是考虑之后,不知道怎么改了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-11-19 14:59:14
试试这个呢
count
local obs = r(N)
local sum = 0

forvalues i = 1 / `obs' {
    forvalues j = 1 / `obs' {
        if `i' > `j' {
            local sum = `sum' + abs(y[`i'] - y[`j'])
        }
    }
}

display "`sum'"
这段代码中,使用了两个嵌套的循环,在内部循环中,使用了条件语句 if 来确保只有在 i > j 的情况下才进行绝对值的计算,并将结果累加到 sum 变量中。最后使用 display 命令输出结果。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-11-19 18:54:27
ChenJY26 发表于 2023-11-19 14:59
试试这个呢
count
local obs = r(N)
可以运行了,实在感谢!朋友。可是,我想问一下,这和手动算的结果不一样哎,是怎么回事啊?算了好几遍
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群