全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2858 3
2021-09-24
我希望通过条件提取变量的某个值作为一个常量来进行后续的处理。比如我希望知道` NationName == "中国"` 的时候 `CPI2020` 这个变量的取值,并且希望将之提取到暂元中。
我尝试过:
local x = CPI2020 if NationName == "中国"

scalar x = CPI2020 if NationName == "中国"
但是都报错不允许使用 if
不知道哪位大佬能出手援助一下?
我现在的一个迂回的做法是,确认当 sort CPI2020 后,中国的数据不会再变化,人工确认其在 101 行,直接提取 CPI2020[101]
但是一旦数据更新,就可能发生变动

复制代码

------------------ copy up to and including the previous line ------------------
[/code]


二维码

扫码加我 拉你入群

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

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

全部回复
2021-9-25 21:03:59
想了一下,暂时没有漂亮的方法,所以这是一个很繁琐的办法,但应该能解决问题
主要是先提取数据,然后导入到scalar中 进而导入暂元中
如果有更好的方法,烦请回复一下,让我学习

gen x = CPI2020 if NationName == "中国"

sum x
return list

scalar xx=r(mean)

local qq xx

dis `qq'

drop x

dis `qq'
二维码

扫码加我 拉你入群

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

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

2021-10-8 01:55:05
变量A的每个观测值唯一对应变量B的观测值(相当于,A到B形成了映射),这种情况不是一般情况,Stata没有专门针对这种情况设计命令。

利用这个特点可以用:

su CPI2020 if Country=="Brazil"

这个命令自动会把CPI2020的值(本质是平均值)存入标量r(mean)中。

每用一次,r(mean)的值会变化。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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