作者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