Я хочу отобразить переменную «изменение» в «секторе» в Stata в виде гистограммы, используя
graph bar change, over(sector, sort(1)) asyvars
Столбцы отображаются в порядке возрастания «изменений», как я этого хочу. Однако вместо этого легенда упорядочивается в соответствии с сектором (который представляет собой числовой идентификатор, а переменная сектора имеет метки значений, поэтому легенда отображает текст в порядке возрастания идентификатора сектора, а не в порядке возрастания изменения).
Таким образом, порядок изменения и легенда не совпадают.
Есть ли способ автоматически, то есть без ручного перекодирования меток или порядка, заставить легенду сортироваться так же, как это делают столбцы?
Я попытался заменить переменную сектора другой переменной в правильном порядке:
sort change
gen increasingorder=_n
graph bar change, over(increasingorder) asyvars
И хотя порядок столбцов и легенды теперь совпадают, у меня больше нет меток значений «сектора», и нет простого способа их преодолеть (поскольку «сектор» содержит идентификатор сектора, а «увеличенный порядок» содержит идентификатор сектора). ранг, поэтому отображение другое).





Давайте обсудим это с точки зрения набора данных, который может вызвать каждый пользователь Stata.
sysuse auto, clear
graph bar mpg, over(rep78, sort(1)) asyvars
myaxis newx=rep78, sort(mean mpg)
graph bar mpg, over(newx, sort(1)) asyvars
Команда myaxis, которая делает то, что вы хотите, описана в этой статье, где подробно обсуждаются ключевые принципы. Поскольку это команда, предоставленная сообществом, ее необходимо установить, прежде чем вы сможете ее использовать.
Я тебя знаю? Кажется, ты безымянный.
Нет, но я знаю ваши ответы со всего Интернета (многие из которых решили мои проблемы). Ваш сервис очень ценится!
Куда мне отправить счет/счет?
Если вы запустите онлайн-сервис пожертвований, как эти влиятельные лица, я буду первым, кто внесет свой вклад!
Если мы когда-нибудь встретимся, ты сможешь купить мне выпить.
Мне было бы приятно!
Абсолютно идеально, спасибо, Ник. Работало как шарм. Доставка как всегда!