如果没有station呢
时间: 2023-10-31 16:24:16 浏览: 124
station.rar
如果您的数据集中没有经过的高铁站的变量,但是您知道某个城市在哪些高铁线路上有站点,您可以通过以下方式来查找两个城市是否在不同的高铁线路上,但是都经过某个城市:
```
* 定义需要查找的两个城市和经过的高铁站所在城市
local city1 "北京"
local city2 "上海"
local via_city "武汉"
* 查找包含经过的高铁站所在城市的线路
keep if anymatch(via_city, city) & line != ""
* 生成包含城市信息的线路变量
egen city_line = concat(city line), p(" ")
* 生成城市对应的线路列表
collapse (first) city_line, by(city)
* 使用merge命令合并城市和线路列表
merge 1:1 city1 using city_line
merge 1:1 city2 using city_line
* 查找两个城市是否在不同的高铁线路上,但都经过经过的高铁站所在城市
generate on_different_lines = (city1 != city2 & city1_line != city2_line)
if missing(city1_line) | missing(city2_line) {
replace on_different_lines = .
}
```
这段代码将创建一个名为 "on_different_lines" 的新变量,其中包含值为 1 或 0。如果值为 1,则表示两个城市在不同的高铁线路上,但是都经过经过的高铁站所在城市,否则为 0。
由于没有经过的高铁站的变量,因此需要使用城市信息和高铁线路信息来进行匹配。代码中将城市对应的高铁线路列表生成为一个新的数据集,然后使用merge命令将两个城市的信息与高铁线路列表进行合并,最终得到城市所在的高铁线路信息,再进行比较。
如果某个城市在高铁线路上没有站点,则对应的线路信息可能会缺失,因此需要在生成新变量时将缺失值处理为缺失。
以上就是在没有经过的高铁站变量的情况下,使用stata代码查找两个城市是否在不同高铁沿线上,但是都经过某个城市的方法,希望对您有所帮助。
阅读全文