Adları indoor
öneki ile başlayan birçok değişken var. indoor
'dan sonra gelenler sayısal değildir (bu her şeyi daha basit hale getirir). Bu değişkenlerin her biri için bir tablo istiyorum.Stata'da yerel isimlere uzun bir değişken ad listesi nasıl atayacaksınız?
local indoor indoor*
foreach i of local indoor {
tab `i' group, col freq exact chi2
}
Sorun umduğu gibi foreach
komuta indoor
, indoor
soruların listesine indoor*
olarak çözümlenir ve şudur: Yani bu kodu yazdım. Bu nedenle tab
komutunu çok fazla değişken takip eder (sadece iki işlem yapabilir) ve bu bir hatayla sonuçlanır.
basit bir düzeltme ile ilk komutu yerine geçerli:
local indoor <full list of indoor questions>
Ama bu daha sonra bu değişkenler için tüm isimleri bulup zorunda, yani önlemek ister kod yapıştırmak olacaktınız . Bunun için daha hızlı bir çözüm var gibi görünüyor ama hiç düşünemiyorum.
Bu, -foreach-bit'in sözdizimini karıştırır. Yardım elkitabı var1 ve var2 değişkenlerinin olduğu değişkenler "varyantı var1 var2" nin foreach i'yi kullanmak istediğinizi gösterir. VEYA "yerel iç mekanın foreach i" i kullanın, yukarıdaki örnekte olduğu gibi birleştirmeyin. Bu _works_ bu _works_, ancak, eğer bir yerel liste içinde bir liste varsa, değişkenler adlandırma değişkenlerinin kurallarına uymamışsa, o zaman "var 'iç mekanı' foreach i" değişkenindeki genişleme başarısız olur ve kullanıcıyı karıştırmayın. –
Stata'nın komutu çalıştırmadan önce yerel/global makrosu açtığını anladığınız sürece çok da kötü değil. – Keith