Please I am trying to count the occurrence of string variables across a row. Here is the example data:
I would like to create a new variable, say countmeasure, which is equal to 4 for pid 5100006 in wave 1 (because there are 4 responses, irrespective of what they are).
I thought I might be able to use something like
but it gives me an "invalid name" error.
Please can anyone help? Thanks.
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input double(country pid) byte wave double(q04_05_1 q04_05_2 q04_05_3 q04_05_4) 51 5100006 1 1 2 3 4 51 5100006 3 . . . . 51 5100006 2 . . . . 51 5100007 1 1 . . . 51 5100007 2 . . . . 51 5100007 3 . . . . 51 5100014 1 1 5 6 15 51 5100014 2 . . . . 51 5100015 1 1 . . . 51 5100017 1 5 6 . . end label values country Country label def country 51 "Peru", modify label values q04_05_1 q04_05_1 label def q04_05_1 1 "advertir a los ciudadanos que se queden en casa", modify label def q04_05_1 5 "toque de queda / estado de emergenci / restricciÓn de salidas", modify label values q04_05_2 q04_05_2 label def q04_05_2 2 "restringir los viajes dentro del paÍs", modify label def q04_05_2 5 "toque de queda / estado de emergenci / restricciÓn de salidas", modify label def q04_05_2 6 "cerrar los negocios o establecimientos no esenciales", modify label values q04_05_3 q04_05_3 label def q04_05_3 3 "restringir los viajes internacionales / cierre de fronteras", modify label def q04_05_3 6 "cerrar los negocios o establecimientos no esenciales", modify label values q04_05_4 q04_05_4 label def q04_05_4 4 "cerrar las escuelas y universidades", modify label def q04_05_4 15 "difundir medidas de reduccion del riesgo de contagio", modify
I thought I might be able to use something like
Code:
egen countmeasure = anyvalue(q04_05_*) if q04_05_* != "."
Please can anyone help? Thanks.
Comment