我有一个Stata do文件,每当“使用”某些东西时总是使用“美元”符号$。
但是当我在计算机上实际运行它时,看起来我的计算机认为该目录被忽略了。
这里,目录“logs”刚被忽略,显然我的电脑认为我在主目录“C”中寻找文件
那是什么美元符号?为什么我的电脑这么想?
答案 0 :(得分:1)
美元符号在这里用于指代Stata宏。
Stata在这里看到了对全球宏的引用。 $global
将是对名为global
的全局宏的引用。如果没有定义宏,那本身就不是非法的,Stata会替换一个空字符串。 log
的默认值,在这种情况下似乎是在根目录中写入。
这里的后果不是你想要的,因为显然你没有C:
驱动器或者(或许更有可能)没有权限写入它。 (您的帖子中没有关于您的设置的准确信息,但可以猜到您使用的是Windows。)
您可以定义全局,例如
global logs "c:\whatever\wherever"
然后
log using $logs\df.log
将被解释为
log using c:\whatever\wherever\df.log
如果您更喜欢使用自己的直接规范来指定日志文件的打开位置:
log using c:\whatever\wherever\df.log
Stata中没有任何内容阻止您指定存在的任何其他驱动器以及您具有写入权限的驱动器。
有关全局宏的更多信息,请参阅e.g. this manual chapter。