String 在Stata中总结观察结果
我在统计数据。我有英国地方当局代码(例如E06000047)和数据集,数据集更深一层(MSOA) 因为我对MSOA级别的数据不感兴趣,所以我想将数据汇总到本地身份验证代码级别。我失败的地方是我不能用字符串数据计算。我想做的是:String 在Stata中总结观察结果,string,statistics,stata,data-management,String,Statistics,Stata,Data Management,我在统计数据。我有英国地方当局代码(例如E06000047)和数据集,数据集更深一层(MSOA) 因为我对MSOA级别的数据不感兴趣,所以我想将数据汇总到本地身份验证代码级别。我失败的地方是我不能用字符串数据计算。我想做的是: foreach identical "Local authority code" take the mean/median and store it in a var "means.local-auth" 所以我期望的是: Local authority code
foreach identical "Local authority code" take the mean/median and
store it in a var "means.local-auth"
所以我期望的是:
Local authority code means.local-auth median.local-auth
E06000047 474.00 480.00
E06000048 486.00 485.00
对于这种简单的摘要,不需要循环。下面是一个可复制的示例,使用
egen
使用by()
生成变量(其参数可以是数字或字符串,实际上不需要是单个变量)tabdisp
可以方便地进行简单的制表
sysuse auto, clear
egen mean_mpg = mean(mpg), by(rep78)
egen median_mpg = median(mpg), by(rep78)
tabdisp rep78, c(mean_mpg median_mpg)
----------------------------------
Repair |
Record |
1978 | mean_mpg median_mpg
----------+-----------------------
1 | 21 21
2 | 19.125 18
3 | 19.43333 19
4 | 21.66667 22.5
5 | 27.36364 30
. | 21.4 22
----------------------------------
tabdisp rep78, c( mean_mpg median_mpg) format(%2.1f)
----------------------------------
Repair |
Record |
1978 | mean_mpg median_mpg
----------+-----------------------
1 | 21.0 21.0
2 | 19.1 18.0
3 | 19.4 19.0
4 | 21.7 22.5
5 | 27.4 30.0
. | 21.4 22.0
----------------------------------
对于这种简单的摘要,不需要循环。下面是一个可复制的示例,使用
egen
使用by()
生成变量(其参数可以是数字或字符串,实际上不需要是单个变量)tabdisp
可以方便地进行简单的制表
sysuse auto, clear
egen mean_mpg = mean(mpg), by(rep78)
egen median_mpg = median(mpg), by(rep78)
tabdisp rep78, c(mean_mpg median_mpg)
----------------------------------
Repair |
Record |
1978 | mean_mpg median_mpg
----------+-----------------------
1 | 21 21
2 | 19.125 18
3 | 19.43333 19
4 | 21.66667 22.5
5 | 27.36364 30
. | 21.4 22
----------------------------------
tabdisp rep78, c( mean_mpg median_mpg) format(%2.1f)
----------------------------------
Repair |
Record |
1978 | mean_mpg median_mpg
----------+-----------------------
1 | 21.0 21.0
2 | 19.1 18.0
3 | 19.4 19.0
4 | 21.7 22.5
5 | 27.4 30.0
. | 21.4 22.0
----------------------------------
由于您的问题不清楚您的目标是生成一份报告(如Nick的报告),还是向地方当局级别的分析迈出第一步,因此下面的代码使用
collapse
获取数据并将其缩减到地方当局级别
. * Example generated by -dataex-. To install: ssc install dataex
. clear
. input str20(msoa_c msoa_n lac) float income
msoa_c msoa_n lac income
1. "E02004297" "County Durham 001" "E06000047" 480
2. "E02004290" "County Durham 002" "E06000047" 540
3. "E02004298" "County Durham 003" "E06000047" 520
4. "E02004299" "County Durham 004" "E06000047" 430
5. "E02004291" "County Durham 005" "E06000047" 400
6. end
. format income %9.2f
. drop msoa_c msoa_n
. collapse (mean) mean_inc=income (median) med_inc=income, by(lac)
. list
+--------------------------------+
| lac mean_inc med_inc |
|--------------------------------|
1. | E06000047 474.00 480.00 |
+--------------------------------+
.
由于您的问题不清楚您的目标是生成一份报告(如Nick的报告),还是向地方当局级别的分析迈出第一步,因此下面的代码使用
collapse
获取数据并将其缩减到地方当局级别
. * Example generated by -dataex-. To install: ssc install dataex
. clear
. input str20(msoa_c msoa_n lac) float income
msoa_c msoa_n lac income
1. "E02004297" "County Durham 001" "E06000047" 480
2. "E02004290" "County Durham 002" "E06000047" 540
3. "E02004298" "County Durham 003" "E06000047" 520
4. "E02004299" "County Durham 004" "E06000047" 430
5. "E02004291" "County Durham 005" "E06000047" 400
6. end
. format income %9.2f
. drop msoa_c msoa_n
. collapse (mean) mean_inc=income (median) med_inc=income, by(lac)
. list
+--------------------------------+
| lac mean_inc med_inc |
|--------------------------------|
1. | E06000047 474.00 480.00 |
+--------------------------------+
.
请参见帮助折叠。你需要的一切都应该在那里。你没有在这里发短信,也没有限制字符数。请避免使用诸如“sth”之类的缩略语和诸如“i”之类的不识字用法。好的问题显示了对代码的一些尝试。请阅读《帮助折叠》。你需要的一切都应该在那里。你没有在这里发短信,也没有限制字符数。请避免使用诸如“sth”之类的缩略语和诸如“i”之类的不识字用法。好的问题显示了对代码的一些尝试。请阅读