Commencez par les données TOYBOX suivantes:Comment créer DataSet Imite Twoway Tabulate, mais classé dans Way spécial
clear all
set obs 150
set seed 1234
foreach i in 1 2 {
gen year`i' = round(runiform()*4)
tostring year`i', replace
replace year`i' = "AA" if year`i'=="0"
replace year`i' = "BB" if year`i'=="1"
replace year`i' = "CC" if year`i'=="2"
replace year`i' = "DD" if year`i'=="3"
replace year`i' = "EE" if year`i'=="4"
}
Mon but ultime est de créer une table dans LaTeX qui est très similaire à ce qui résulterait de tab year1 year
:
sauf les deux lignes et des colonnes doivent être triées par les résultats d'un onglet oneway de an1:
Donc, ce serait quelque chose comme ceci:
year1 BB DD CC EE AA
BB 7 7 10 6 9
DD 10 ...
CC
EE
AA
L'approche que je envisage actuellement de créer un ensemble de données qui est dans ce format, avec la première chaîne contenant des valeurs variables BB, DD
, etc. Ensuite, utilisez texsave
ou quelque chose pour exporter l'ensemble de données dans un fichier tex.
Je suis en mesure d'obtenir l'ensemble de données, mais je ne sais pas comment faire le tri dans la façon dont je veux:
contract year1 year2, f(freq)
reshape wide freq, i(year1) j(year2) string
foreach i in AA BB CC DD EE {
rename freq`i' `i'
}
Que puis-je faire maintenant sorte il basé sur les résultats de la tabulation à sens unique de year1
? Plus précisément, comment puis-je trier year1
de cette façon et de commander les variables AA...EE
de cette façon?