我需要在Stata中存储非常长的变量名称列表,并且在250个字符左右之后,不能再在本地或全局宏中存储任何字符了。当前,我正在使用许多不同的全局变量来存储我正在使用的许多回归变量的名称,但是我更希望将它们全部合而为一。
编辑:这个问题已经被下面的Maarten完美地回答了,但是我只是添加了我用于精度的代码。
local RHSVARS = "var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18 var19"
不起作用,但是
local RHSVARS "var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18 var19"
做。
这个问题在Stata 13中已得到很大解决,因此我想您有一个较旧的版本。
在旧版本中,您仍然可以通过省略等号来做到这一点,您可以在下面的示例中看到它(它在Stata 12中运行,在Stata 13中两个宏都没有被截断)。在下面的文章中对此进行了讨论:Nicholas J. Cox(2008)“ Stata tip 70:当心评估等号” The Stata Journal,8(4):586-587。现在可以在此处免费获得:http : //www.stata-journal.com/article.html?article=pr0045
. // create local a with an equal sign
. local a = "`c(alpha)' `c(ALPHA)' `c(alpha)' `c(ALPHA)' `c(alpha)' `c(ALPHA)'"
. // create local b by leaving the equal sign out
. local b "`c(alpha)' `c(ALPHA)' `c(alpha)' `c(ALPHA)' `c(alpha)' `c(ALPHA)'"
.
. // local macro a gets truncated
. di `: length local a'
245
. di "`a'"
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X
> Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T
> U V W X Y Z a b c d e f g h i j k l m n o p q r s
.
. // local macro b does not get truncated
. di `: length local b'
311
. di "`b'"
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X
> Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T
> U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q
> R S T U V W X Y Z
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句