Я хочу создать переменную, равную единице или нулю, если компания (companyid
ниже) является "многоцветной" в каждом году. Ниже приведены мои данные:
* Example generated by -dataex-. To install: ssc install dataex
clear
input str6 companyid int year float(red blue green)
"001045" 2015 0 1 0
"001045" 2015 0 1 0
"001045" 2015 0 1 0
"001045" 2015 0 1 0
"001045" 2017 1 0 0
"001045" 2017 1 0 0
"001049" 2019 0 1 0
"001049" 2019 0 0 1
"001055" 2018 1 0 0
"001055" 2018 0 1 0
"001055" 2018 0 0 1
Так, например, компания № 001055 имеет красный, синий и зеленый цвета для 2018 года, поэтому эта «многоцветная» переменная должна равняться единице.
Кроме того, я Также хочу создать переменные для разных комбинаций. Т.е. красно-синяя переменная = 1, если компания красная и синяя = 1 в каждом году.
Я пытался что-то сделать с bysort companyid year: gen multicolor = 1 if red == 1 & blue == 1 & green == 1
, но я понимаю, что многое не хватает в том, чего я хочу достичь sh.
Общая цель состоит в том, чтобы сократить многолетние наблюдения, чтобы У меня по одному наблюдению в год на компанию.
Эта запись за один год / компанию будет содержать информацию, если эта компания была красного, зеленого, синего или точное сочетание этих цветов, если оно смешано. Ниже приведен пример данных, которые я хочу создать из данных выше.
input str6 companyid int year float(red blue green r-b-g red-blue blue-green ...more...)
"001045" 2015 0 1 0 0 0 0 ...
"001045" 2017 1 0 0 0 0 0 ...
"001049" 2019 0 0 0 0 0 1 ...
"001055" 2018 0 0 0 1 0 0 ...