楼主: clapton
5028 10

[Stata初级班] 请教连老师,encode命令提示错误 [推广有奖]

  • 0关注
  • 2粉丝

VIP

副教授

34%

还不是VIP/贵宾

-

威望
0
论坛币
9322 个
通用积分
30.6100
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
1719 点
帖子
246
精华
0
在线时间
1337 小时
注册时间
2005-10-18
最后登录
2024-3-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问连老师,我用encode,想把字符型变量转成数值型变量,提示错误是:too many values,我查了错误的原因,是因为我要转的数据超过了65,536 个,这个问题有什么办法解决吗?多谢了
二维码

扫码加我 拉你入群

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

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

关键词:encode code ODE NCO COD 请教 老师 命令 提示 encode

沙发
arlionn 在职认证  发表于 2010-11-4 17:55:24 |只看作者 |坛友微信交流群
不知你的数据具体是何种结构。我此前处理过一个类似的问题。在我的样本中公司的代号是字符型的,数量为36万家,此时 encode 是无法使用的,为此,我采用 gen id_new =_n 命令定义了一个新的变量,用于标识公司代码。我想你也可以采用类似的方法。
具体程序如下,供参考:
  1.   * 产生新的公司代码(由于公司数目太多,encode命令无法使用)
  2.     preserve
  3.       keep id
  4.       duplicates drop id, force
  5.       sort id
  6.       gen code = _n
  7.       sort id
  8.       save id.dta, replace   
  9.     restore
  10.       sort id year
  11.       merge id using id.dta
  12.       drop _merge
复制代码

使用道具

藤椅
clapton 发表于 2010-11-5 09:39:21 |只看作者 |坛友微信交流群
试过了,如果是要处理panel里的id变量没有问题,但是它是按1,2,3,4,5,6,7这样重新命名id了,如果我是要把一个字符型变量转成数值型变量并用以计算,这样数值变了就不行了啊,哪又应该怎么做呢?麻烦版主了

使用道具

板凳
arlionn 在职认证  发表于 2010-11-5 10:32:56 |只看作者 |坛友微信交流群
能否把你的数据列出来一部分,我酌情给出解决方案。
尽量详细地描述你的问题,多谢!

使用道具

报纸
clapton 发表于 2010-11-5 11:04:01 |只看作者 |坛友微信交流群
比如说我有这么一个数据文件,其中zczj和cyrs都被认作字符型变量了,我需要用它们做一些计算,就必须先改成数值型,但是数据条数很多,encode命令不灵,那又应当怎么操作呢?前面那种方式就等于生成了一个按大小排序,数值为1,2,3,4,5...那种的变量,这样的话数值就变了,就不行了。麻烦连老师了,十分感谢
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

使用道具

地板
arlionn 在职认证  发表于 2010-11-5 14:59:18 |只看作者 |坛友微信交流群
请把文件另存为 excel2003,我这里打不开高级版本。

使用道具

7
clapton 发表于 2010-11-5 16:04:37 |只看作者 |坛友微信交流群
抱歉,已经改过来了
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

使用道具

8
arlionn 在职认证  发表于 2010-11-7 09:06:03 |只看作者 |坛友微信交流群
我看了你的数据,全部都是数值变量。
录入数据时,你需要把第二行的中文名称去掉。
如果这两个变量仍然显示为字符型,则可以采用如下命令转换之:
gen xx = real(x)

使用道具

9
renstata 发表于 2017-9-19 10:13:43 |只看作者 |坛友微信交流群
请教连老师  说明:数据库大概有160万条数据   , 字符型转变为数值型变量 提示  too many values
. rencode ming ,replace
too many values


说明:数据库变量 ming 是汉字 如果使用real  命令, 就都变成缺失值了,请问有什么好办法处理?
gen ming_s=real(ming)
(1,629,822 missing values generated)



使用道具

10
arlionn 在职认证  发表于 2017-9-19 16:17:49 |只看作者 |坛友微信交流群
  1.     preserve
  2.       keep id
  3.       duplicates drop id, force
  4.       sort id
  5.       gen code = _n
  6.       sort id
  7.       save id.dta, replace   
  8.     restore
  9.       sort id year
  10.       merge id using id.dta
  11.       drop _merge
复制代码


用 -id- 变量进行分析,id 与你的 ming 变量有一一对应的关系。

使用道具

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

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

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

GMT+8, 2024-4-25 22:29