楼主: sinopart
7384 10

[面板数据求助] 关于Stata中通过虚拟变量分组 [推广有奖]

  • 0关注
  • 11粉丝

已卖:309份资源

副教授

76%

还不是VIP/贵宾

-

威望
0
论坛币
223 个
通用积分
3.4683
学术水平
6 点
热心指数
17 点
信用等级
7 点
经验
69759 点
帖子
1240
精华
0
在线时间
620 小时
注册时间
2006-12-22
最后登录
2022-12-20

楼主
sinopart 发表于 2016-4-29 11:18:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

我想把数据按国家分为发达国家和发展中国家两组,但运行如下程序后,总是报错type mismatch,r(109);我的原始数据中 country 早已经转换成数值变量了,可还是运行不了。求各位高人赐教,多谢

replace developed = 1 if country=="CAN" & country=="BMU" & country=="JPN" & country==" KOR" & country=="ISR" & country=="HKG" & country=="SGP" & country=="AUS" & country=="BEL" & country=="DNK" & country=="DEU" & country=="FIN" & country=="FRA"  & country=="GRC" & country=="HUN" & country=="IRL" & country=="ITA" & country== "CZE" & country=="LUX" & country=="NLD" & country=="NOR" & country==" PRT" & country=="ESP" & country=="GBR" & country==" SWE" & country==" CHE"



二维码

扫码加我 拉你入群

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

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

关键词:Stata 虚拟变量 变量分组 tata developed 国家

我并非天生璀璨的钻石,但我希望时间和磨砺令我焕发别样光芒

沙发
蓝色 发表于 2016-4-29 11:55:20
country既然是数值了
=="JPN"    这里是字符啊

country==  这里写的是数值,不能是字符   

藤椅
j610f2012 在职认证  发表于 2016-4-29 13:24:51
1. country不能是数值变了;
2. &换成||

板凳
sinopart 发表于 2016-4-30 09:42:19
j610f2012 发表于 2016-4-29 13:24
1. country不能是数值变了;
2. &换成||
图片1.png 谢谢了!我开始就是用的您说的这个符号,后来不行才换得&,。country 我已经进行了将字符转换成数值的命令,结果就是出现所说的报错
我并非天生璀璨的钻石,但我希望时间和磨砺令我焕发别样光芒

报纸
sinopart 发表于 2016-4-30 10:01:48
sinopart 发表于 2016-4-30 09:42
谢谢了!我开始就是用的您说的这个符号,后来不行才换得&,。country 我已经进行了将字符转换成数值的命令 ...
我明白您的意思了,多谢!已经不报错了,运行后显示(0 real changes made)我查看了下数据虚拟变量还都是0。
gen developed=0
replace developed = 1 if  cncode=="CAN" &  cncode=="BMU" & cncode=="JPN" & cncode==" KOR" &  cncode=="ISR" & cncode=="HKG" &  cncode=="SGP" &  cncode=="AUS" &  cncode=="BEL" & cncode=="DNK" &  cncode=="DEU" &  cncode=="FIN" &  cncode=="FRA"  & cncode=="GRC" & cncode=="HUN" &  cncode=="IRL" &  cncode=="ITA" &  cncode== "CZE" & cncode=="LUX" &  cncode=="NLD" &  cncode=="NOR" &  cncode=="PRT" & cncode=="ESP" &  cncode=="GBR" &  cncode==" SWE" &  cncode==" CHE"
运行后显示(0 real changes made)
我查看数据发现developed全都是零,麻烦您指教。
多谢

地板
sinopart 发表于 2016-5-2 09:25:29
蓝色 发表于 2016-4-29 11:55
country既然是数值了
=="JPN"    这里是字符啊
多谢拉!
我明白您的意思了,多谢!已经不报错了,运行后显示(0 real changes made)我查看了下数据虚拟变量还都是0。
gen developed=0
replace developed = 1 if  cncode=="CAN" &  cncode=="BMU" & cncode=="JPN" & cncode==" KOR" &  cncode=="ISR" & cncode=="HKG" &  cncode=="SGP" &  cncode=="AUS" &  cncode=="BEL" & cncode=="DNK" &  cncode=="DEU" &  cncode=="FIN" &  cncode=="FRA"  & cncode=="GRC" & cncode=="HUN" &  cncode=="IRL" &  cncode=="ITA" &  cncode== "CZE" & cncode=="LUX" &  cncode=="NLD" &  cncode=="NOR" &  cncode=="PRT" & cncode=="ESP" &  cncode=="GBR" &  cncode==" SWE" &  cncode==" CHE"
运行后显示(0 real changes made)
我查看数据发现developed全都是零,为什么会赋值不上呢?麻烦您指教。
多谢

7
sinopart 发表于 2016-5-4 10:14:17
蓝色 发表于 2016-4-29 11:55
country既然是数值了
=="JPN"    这里是字符啊
我按照您在一个贴子的代码:
clear
set obs 20
gen year=1970+_n
list year
gen     d=1 if year>=1979
replace d=0 if year<1979
list
我这样运行的,为何还是赋值不上?多谢拉
gen developed=1 if cncode=="CAN" &  cncode=="BMU" & cncode=="JPN" & cncode==" KOR" &  cncode=="ISR" & cncode=="HKG" &  cncode=="SGP" &  cncode=="AUS" &  cncode=="BEL" & cncode=="DNK" &  cncode=="DEU" &  cncode=="FIN" &  cncode=="FRA"  & cncode=="GRC" & cncode=="HUN" &  cncode=="IRL" &  cncode=="ITA" &  cncode== "CZE" & cncode=="LUX" &  cncode=="NLD" &  cncode=="NOR" &  cncode=="PRT" & cncode=="ESP" &  cncode=="GBR" &  cncode==" SWE" &  cncode==" CHE"
replace  developed=0 if cncode=="ARE" &  cncode=="ARG" & cncode=="BRA" & cncode==" BRB" &  cncode=="CHL" & cncode=="CHN " &  cncode=="COL " &  cncode=="CRI " &  cncode=="DOM" & cncode=="ECU" &  cncode=="EGY " &  cncode=="HND " &  cncode=="HUN"  & cncode=="IDN" & cncode==" IND" &  cncode=="MEX" &  cncode=="MYS" &  cncode== "NGA" & cncode=="PAN" &  cncode=="PER" &  cncode=="PHL" &  cncode=="POL" & cncode=="RUS" &  cncode==" SAU " &  cncode=="  THA " &  cncode=="TUR" &  cncode=="VEN" &  cncode=="ZAF"

8
Violining 发表于 2018-10-29 14:27:56
sinopart 发表于 2016-5-4 10:14
我按照您在一个贴子的代码:
clear
set obs 20
双击CAN所在格,理论上会出现编号,这个字母应该只是标签,要改成编号。

9
sinopart 发表于 2018-11-7 19:33:59
Violining 发表于 2018-10-29 14:27
双击CAN所在格,理论上会出现编号,这个字母应该只是标签,要改成编号。
多谢指教啦

10
黃河泉 在职认证  发表于 2018-11-8 09:11:04
sinopart 发表于 2018-11-7 19:33
多谢指教啦
可考虑用 (help) inlist。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 04:32