数据价值-DataValues

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 758|回复: 0

[stata] 如何将stata中的字符型数据转为数值型

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39029
发表于 2016-12-9 13:24:09 | 显示全部楼层 |阅读模式
如何将stata中的字符型数据转为数值型,
关键词:stata字符转数值、stata 数值型转字符型,
我从Excel表中将年龄数据粘贴到了stata中,不只为什么显示为红色字(即为字符型),我使用destring a103,replace的命令,结果显示a103 contains nonnumeric characters; no replace,然后仍然还是字符型的,我应该怎么办才能转化为数值型,,
把nonnumeric characters改一下再重新用destring命令,
试一下encode varname, gen (newvarname)。varname是字符型变量,newvarname没问题的话就是转变后的数值型变量啦,
encode在楼主的例子里面恐怕是不合适的,Stata的说明:
Do not use encode if varname contains numbers that merely happen to be stored as strings; instead, use generate newvar = real(varname) or destring,
已成功转换为数值型了,但是又出现了一个新问题,很奇怪的,我使用了list a103a b104 if a103a,
你这个例子里用encode处理字符变数字是不合适的。请看看Stata对encode的说明:encode creates a new variable named newvar based on the string variable varname, creating, adding to, or just using (as necessary) the value label newvar or, if specified, name.  Do not use encode if varname contains numbers that merely happen to be stored as strings; instead, use generate newvar = real(varname) or destring; see real() or [D]destring.,
这个说的很明白了,“Do not use encode if varname contains numbers that merely happen to be stored as strings; instead, use generate newvar = real(varname) or destring;”,
至于你用destring为什么出现问题,你的错误提示说明,你那个变量里面存在非数字的字符。你应该仔细检查一下,变量里存在什么字符。如果你确认这个变量就应该是数字,可以直接转换的话。那么,可以在destring后面加上force参数
destring var, replace force,
force参数的作用是“convert nonnumeric strings to missing values”,
转载请注明:数据分析 » 如何将stata中的字符型数据转为数值型
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|DataValues ( 赣ICP备16006919号 ) DataValues

GMT+8, 2019-8-24 05:00 , Processed in 0.144341 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表