2015-08-05 2 views
5

In einem Umfrage-Datensatz habe ich eine String-Variable (Typ: str244) mit qualitativen Antworten. Ich möchte die Anzahl der Zeichen in jeder Antwort/Zeichenfolge zählen und eine neue Variable generieren, die diese Zahl enthält.Variable generieren, die die Anzahl der Zeichen in einer String-Variablen enthält

Mit der egenmore habe ich bereits die Anzahl der Wörter mit nwords gezählt, aber ich kann das Gegenstück für das Zählen von Zeichen nicht finden.

Beispiel:

egen countvar = nwords(stringvar) 

wo countvar die neuen Variablennamen und stringvar ist die String-Variable.

Funktioniert eine solche egen Funktion zum Zählen von Zeichen?

+0

Die Funktion 'wordcount()' in Stata macht das ältere Add-on 'nwords()' überflüssig. Note 'genmore' wird mit' ssc inst egenmore' heruntergeladen. –

+0

Die Hilfe für'Egenmore' zeigt auf 'wordcount()'. N.B. 'nwords()' (geschrieben für Stata 6) ist sehr langsam. –

+0

Vielen Dank für das Erwähnen. 'gen countvar = wordcount (stringvar)' funktioniert wie ein Zauber. Ich war mir nicht bewusst, dass 'wordcount' mit' gen', nicht 'gen' verwendet wurde. Perfekt! – harre

Antwort

6

Es gibt keine egen Funktion, weil es lange Sinn gewesen war, dies zu tun. In den letzten Versionen von Stata wird die Funktion strlen() aber der ältere Name genannt length() weiter arbeiten:

. sysuse auto 
(1978 Automobile Data) 

. gen l1 = length(make) 

. gen l2 = strlen(make) 

. su l? 

    Variable |  Obs  Mean Std. Dev.  Min  Max 
-------------+--------------------------------------------------------- 
      l1 |   74 11.77027 2.155257   6   17 
      l2 |   74 11.77027 2.155257   6   17 

Siehe help functions und (e.g.) this tutorial column.