楼主: shawfee
17370 38

[问答] 求助:如何将字符转换成数值 [推广有奖]

11
shawfee 发表于 2014-12-17 18:11:04
sniperhgy 发表于 2014-12-17 17:23
不是高手,也来回答一下
用input函数将字符型变成数字型,例如看一下log,不会出现那种“字符型变量转换成 ...
用input语句也不行呀

12
shawfee 发表于 2014-12-17 18:16:27
猎户星云 发表于 2014-12-17 17:23
怎么可能呢,楼主把原始文件贴上来看看
附件是部分原始数据
愛是恆久忍耐,又有恩慈;愛是不嫉妒;愛是不自誇,不張狂,不作害羞的事,不求自己的益處,不輕易發怒,不計算人的惡,喜歡不義,只喜歡真理;凡事包容,凡事相信,凡事盼望,凡事忍耐;愛是永不止息。

13
猎户星云 发表于 2014-12-17 18:30:04
看明白了,你是想把a2002,a2003里面的数字提取出来,这个得用到文本函数
以a2002为例,公式是 =MID(C1,2,4)*1
用mid函数,或者right函数,=RIGHT(C1,4)*1
都可以,很简单。

14
就喜欢马 发表于 2014-12-17 18:57:00
shawfee 发表于 2014-12-17 18:02
确实有空格之类的
这是log日志
NOTE: 变量 a2002 未初始化。
这个的意思应该是你的变量名a2002应该是没有正确输入,建议再仔细看看sas中你这张表里的变量名是否正确,注意是name不是标签名label .

15
shawfee 发表于 2014-12-17 20:06:47
就喜欢马 发表于 2014-12-17 18:57
NOTE: 变量 a2002 未初始化。
这个的意思应该是你的变量名a2002应该是没有正确输入,建议再仔细看看sas中 ...
我刚才看了一下,不存在这个问题,我仔细看了name和label,没有这个问题

16
shawfee 发表于 2014-12-17 20:25:08
猎户星云 发表于 2014-12-17 18:30
看明白了,你是想把a2002,a2003里面的数字提取出来,这个得用到文本函数
以a2002为例,公式是 =MID(C1,2, ...
不知道怎么用,试了一下,还是没搞定

17
shawfee 发表于 2014-12-17 21:51:45
在stata中搞定了,用如下命令:
destring a2002, gen(a2002_new) ignore(""",")
主要原因就在于数据中有空格和逗号

在此也感谢各位大神的热心帮助

18
princemoon 发表于 2014-12-18 02:01:38
加$就OK了

19
sniperhgy 发表于 2014-12-18 10:37:00
shawfee 发表于 2014-12-17 18:02
确实有空格之类的
这是log日志
嗯,里面用空格,这个就不能转换了,遇到这种情况,也可以用input函数,然后外层嵌套一个missing,如果不是,那就可以转换,如果是missing,就强制赋一个0.

20
shawfee 发表于 2014-12-18 14:05:45
sniperhgy 发表于 2014-12-18 10:37
嗯,里面用空格,这个就不能转换了,遇到这种情况,也可以用input函数,然后外层嵌套一个missing,如果不 ...
这个方法应该可以,我随后试一下,非常感谢!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-22 01:12