视频合集

附件:

  • 录屏文件与do文件下载链接:https://pan.baidu.com/s/1MqhgojKIbuwRSQ2ngLNEog?pwd=9sro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* Do File Note: 逐年气象数据转化为Stata格式的面板数据
1. 数据导入 —— CSV/xlsx-->DTA —— import;
2. 数据接驳 —— append;
3. 数据匹配 —— merge 。 */

cd "C:/Users/wugan/Desktop/20230101-气象数据合并"
** 1. 数据导入、数据接驳
*** 1.1 数据——风速/日照/降水/湿度
global sheet "风速 日照 降水 湿度"
foreach s of global sheet {
// 数据导入
forvalues y=2000/2020 {
import excel "2000-2020年逐年`s'/【`y'年】逐年`s'.xlsx", sheet("Sheet1") firstrow clear
tostring 年份, replace
save "Stata数据/`y'-`s'", replace
}
// 数据接驳
use "Stata数据/2000-`s'",clear
forvalues y=2001/2020 {
append using "Stata数据/`y'-`s'"
}
save "Stata数据/`s'",replace
// 删除临时数据
forvalues y=2000/2020 {
rm "Stata数据/`y'-`s'.dta"
}
}

*** 1.2 数据——平均气温
// 数据导入
forvalues y=2001/2022 {
import delimited "2001-2022年逐年平均气温/【`y'年】逐年平均气温.csv", clear
tostring 年份, replace
save "Stata数据/`y'-气温", replace
}
// 数据接驳
use "Stata数据/2001-气温",clear
forvalues y=2002/2022 {
append using "Stata数据/`y'-气温"
}
save "Stata数据/气温",replace
// 删除临时数据
forvalues y=2001/2022 {
rm "Stata数据/`y'-气温.dta"
}

** 2. 数据匹配
use "Stata数据/气温", clear
foreach s of global sheet {
merge 1:1 年份 省份 城市 using "Stata数据/`s'", nogen
}
// 填补缺失的省份代码
ereplace 省份代码=mean(省份代码), by(省份) // 组内非缺失值样本的取值都相同的时候
tabstat 省份代码,stat(mean min max) by(省份) // 检验填补省份代码的缺失值是否正确
drop v1
save "Stata数据/气象数据",replace