【发布时间】:2021-03-06 22:51:27
【问题描述】:
我正在尝试使用以下代码生成 PMdist`i' 变量
display "************** PM10 distances **************"
forval i=1/12599 {
display "Attempting to compute distance `i'"
capture geodist latitude longitude latitude`i' longitude`i' [if] [in], generate(PMdist`i')
capture replace PMdist`i' = . if (PMdist`i' > 257 & !missing(PMdist`i'))
capture drop latitude`i' longitude`i'
}
egen PMmindist = rowmin(PMdist1-PMdist12581)
forval i=1/12599 {
capture drop PMdist`i'
}
谁能告诉我为什么 geodist 不起作用以及替代解决方案是什么?
【问题讨论】:
-
“不工作”是什么意思?这可能很慢,但还有其他问题吗?为什么有些地方是 12599 而有些地方是 12581?这里没有足够的信息来提供准确的帮助。代码应该首先在一个简单的数据集上进行测试。
-
我正在使用作者使用的相同数据集复制此数据代码(作者使用)。当我运行它时,它无法生成 PMdist
i' variable, and when I ran another code that require to use PMdist'i' variable, the error shows 'cannot find Pmdisti' 变量。 -
我将首先删除您的
capture命令。geodist命令可能存在问题,但使用capture时无法发现。 -
可能您的一个或多个 long/lat(`i') 变量还不存在。
标签: stata