作者meimeili0403 (meimeili0403)
看板Statistics
标题[程式] type mismatch (STATA)
时间Wed Jan 25 16:45:44 2012
[软体程式类别]: STATA
[程式问题]: 资料处理
[软体熟悉度]: 低(1~3个月)
[问题叙述]:
大家好
我需要根据厂商所属的产业和省份去计算一些指数
所以为了将来计算上的方便
需要先去制造产业三位码变数和区域二位码变数
我在制造产业三位码时没有遇到什麽问题
但在制造区域二位码时却出现type mismatch
请大家帮我看看到底是哪里出错
[程式范例]:
我在制造产业三位码时
所使用的code是:
gen sic4 = cic
gen sic3 = int(cic/10)
在制造区域二位码时
我想逻辑应该是差不多的
但因为我原始资料的厂商区域代号除了2005年外其余皆是6码
而2005年的资料则有12码
所以我打算将code写成:
gen dq2 = int(dq/10000) if year==1998 | year==1999 | year==2000 | year==2001
| year==2002 | year==2003 | year==2004 | year==2006 | year==2007
replace dq2 = int(dp/10000000000) if year==2005
但实际在跑时
跑到gen dq2那行就出现type mismatch
不知道这是出於什麽原因?
我该如何改写呢?
PS. 在data editor里
我dq那一栏的数字式红色的
不知道是否有影响?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.173.211.81
※ 编辑: meimeili0403 来自: 1.173.211.81 (01/25 16:46)
1F:→ lyrislin:红色表示那栏是字串而非数值 所以不能用int取值 01/25 16:54
2F:→ lyrislin:help substr 01/25 16:55
3F:→ meimeili0403:已解决~谢谢:) 01/26 13:12