2013-06-23 6 views
5

मेरे पास एक चर state है जो 11 से 99 तक पूर्णांक मान लेता है। इसे लेबल किया गया है।लेबल किए गए न्यूमेरिक वेरिएबल (स्टेटा) से स्ट्रिंग वेरिएबल कैसे उत्पन्न करें?

मैं स्ट्रिंग वेरिएबल stateString कैसे बना सकता हूं जिसमें उन सभी संख्यात्मक मानों के बिना स्ट्रिंग मान होंगे?

gen stateString = tostring(state)

चाल नहीं करता है।

उत्तर

6

tostring कोई फ़ंक्शन नहीं है; यह एक आदेश है, और स्टाटा में दोनों काफी अलग हैं। अनुमान लगाने के अलावा कुछ भी नहीं, आपके द्वारा किए गए वाक्यविन्यास की ओर जाता है।

tostring stateString, gen(state) 

काम करना चाहिए। लेकिन tostring सिर्फ समारोह string() और

gen state = string(stateString) 

भी स्ट्रिंग चर प्राप्त करने के लिए काम करना चाहिए के लिए एक आवरण है।

लेकिन स्ट्रिंग मान "11" होंगे, ... "99" और यह गलत दृष्टिकोण है। मूल्य लेबल को देखते हुए, आप इस चर को संख्यात्मक के साथ ठीक कर रहे हैं।

यदि आप वास्तव में एक स्ट्रिंग चर चाहते हैं, तो आपको decode, tostring की आवश्यकता नहीं है।

decode stateString, gen(state) 

संपादित करें: वाक्य रचना tostring() केवल तभी tostring() एक समारोह है, जो नहीं है थे काम करेगा। इस प्रकार मूल जवाब ने समझाया कि क्यों ओपी का कोड गलत था, साथ ही यह समझाता है कि इसे सही तरीके से कैसे किया जाए। मैंने इस संपादन में लिखा है कि decode का उपयोग कैसे करें।

1

आप रोजर Newson के आदेश sdecode (ssc install sdecode) स्थापित किया है और फिर यह सिर्फ है:

sdecode state, gen(stateString) 
+0

आप ** जरूरत ** यह करने के लिए नहीं है। जैसा कि पहले ही समझाया गया है, केवल आधिकारिक कोड का उपयोग करके अधिक प्रत्यक्ष समाधान हैं। –

संबंधित मुद्दे