2013-06-23 10 views

Odpowiedz

6

tostring nie jest funkcją; to polecenie, aw Stacie te dwie rzeczy są całkiem odmienne. Nic, prócz zgadywania, prowadzi do składni, której próbujesz.

tostring stateString, gen(state) 

powinien działać. Ale tostring jest po prostu otoki dla funkcji string() i

gen state = string(stateString) 

powinny również działać, aby uzyskać zmiennych typu string.

Ale wartościami łańcuchów byłyby "11", ... "99" i to jest niewłaściwe podejście. Biorąc pod uwagę etykiety wartości, dobrze jest mieć tę zmienną jako numeryczną.

Jeśli naprawdę potrzebujesz zmiennej łańcuchowej, potrzebujesz decode, a nie tostring.

decode stateString, gen(state) 

EDIT: Składnia tostring() będzie działać tylko wtedy, gdy tostring() była funkcja, która nie jest. Oryginalna odpowiedź wyjaśniła zatem, dlaczego kod PO był błędny, a także wyjaśnił, jak zrobić to poprawnie. W tej edycji opisałem, jak używać decode.

1

Musisz zainstalować polecenie Rogera Newson za sdecode (ssc install sdecode) i to jest po prostu:

sdecode state, gen(stateString) 
+0

Ty nie ** ** potrzeba, aby to zrobić. Jak już wyjaśniono, istnieje więcej bezpośrednich rozwiązań wykorzystujących tylko oficjalny kod. –

Powiązane problemy