请选择 进入手机版 | 继续访问电脑版
楼主: luojiahui11
42711 16

[数据管理求助] stata怎么给字符型变量赋值 [推广有奖]

  • 0关注
  • 0粉丝

大专生

11%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0070
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
182 点
帖子
29
精华
0
在线时间
48 小时
注册时间
2014-10-29
最后登录
2017-3-15

luojiahui11 发表于 2016-12-15 16:37:27 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的cr变量是AAA,AA+,AA-,AA这样的
想给它赋数值,赋值规则是AAA=4,AA+=3....以此类推,请问怎么实现?
二维码

扫码加我 拉你入群

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

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

关键词:Stata 字符型变量 tata 字符型

guanzihuan 学生认证  发表于 2016-12-15 18:43:54 |显示全部楼层 |坛友微信交流群
用group试一下
help group

使用道具

guanzihuan 学生认证  发表于 2016-12-15 18:48:42 |显示全部楼层 |坛友微信交流群
这样子 假设你的那一列变量是var1
encode var1, gen(rate)
gen gr=group(rate)
就可以了
QQ截图20161215184828.jpg

使用道具

luojiahui11 发表于 2016-12-16 09:54:23 |显示全部楼层 |坛友微信交流群
guanzihuan 发表于 2016-12-15 18:48
这样子 假设你的那一列变量是var1
encode var1, gen(rate)
gen gr=group(rate)
好的 多谢!!!

使用道具

luojiahui11 发表于 2016-12-16 10:08:43 |显示全部楼层 |坛友微信交流群
guanzihuan 发表于 2016-12-15 18:48
这样子 假设你的那一列变量是var1
encode var1, gen(rate)
gen gr=group(rate)
我试了下 好像行不通 我的赋值规则是不同的评级赋不同的值 用这个方法好几个不同的评级都是赋的同一个值

使用道具

黃河泉 在职认证  发表于 2016-12-16 10:25:37 |显示全部楼层 |坛友微信交流群
luojiahui11 发表于 2016-12-16 10:08
我试了下 好像行不通 我的赋值规则是不同的评级赋不同的值 用这个方法好几个不同的评级都是赋的同一个值
请试试
  1. clear
  2. input str8 cr
  3. AAA
  4. AA+
  5. AA
  6. AA-
  7. end

  8. encode cr, gen(tem)
  9. gen grade = tem
  10. recode grade (2 = 3) (1 = 2) (3 = 1)

  11. list
复制代码
结果为:
  1. . list

  2.      +-------------------+
  3.      |  cr   tem   grade |
  4.      |-------------------|
  5.   1. | AAA   AAA       4 |
  6.   2. | AA+   AA+       3 |
  7.   3. |  AA    AA       2 |
  8.   4. | AA-   AA-       1 |
  9.      +-------------------+
复制代码

使用道具

guanzihuan 学生认证  发表于 2016-12-16 15:01:18 |显示全部楼层 |坛友微信交流群
或者笨方法
encode var1, gen(rate)
gen gr=0
replace gr=4 if rate==AAA
replace gr=3 if rate==AA
replace gr=2 if rate==A

使用道具

guanzihuan 学生认证  发表于 2016-12-16 15:05:31 |显示全部楼层 |坛友微信交流群
另外 我之前那个group那个语句 改成:egen double gr = group(rate)
就会达到你要的效果了

使用道具

luojiahui11 发表于 2016-12-16 15:11:54 |显示全部楼层 |坛友微信交流群
guanzihuan 发表于 2016-12-16 15:05
另外 我之前那个group那个语句 改成:egen double gr = group(rate)
就会达到你要的效果了
好的 非常感谢 我再试试

使用道具

黃河泉 发表于 2016-12-16 10:25
请试试结果为:
这个方法只能对一个值对应一个数据,变量中出现多个同种数值的情况不适用

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 12:53