楼主: luojiahui11
47669 17

[数据管理求助] 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 |AI写论文

+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 (19.9 KB)

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.      +-------------------+
复制代码

7
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

8
guanzihuan 学生认证  发表于 2016-12-16 15:05:31
另外 我之前那个group那个语句 改成:egen double gr = group(rate)
就会达到你要的效果了

9
luojiahui11 发表于 2016-12-16 15:11:54
guanzihuan 发表于 2016-12-16 15:05
另外 我之前那个group那个语句 改成:egen double gr = group(rate)
就会达到你要的效果了
好的 非常感谢 我再试试

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

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 03:43