美文网首页stata数据清洗
log 命令——记录你的分析过程

log 命令——记录你的分析过程

作者: 松柏林stata | 来源:发表于2019-04-24 01:10 被阅读84次

    Syntax

    报告日志文件的状态

    log
    
    log query [logname | _all]
    

    打开日志文件

     log using filename [, append replace [text|smcl] name(logname) nomsg]
    

    关闭日志

    log close [logname | _all]
    

    暂时挂起日志记录或恢复日志记录

    log {off|on} [logname]
    

    报告命令日志文件的状态

    cmdlog
    

    打开命令日志文件

    cmdlog using filename [, append replace]
    

    关闭命令日志,暂时挂起日志记录或恢复日志记录

    cmdlog {close|on|off}
    

    设置日志的默认格式

    set logtype {text|smcl} [, permanently]
    

    指定屏幕宽度

    set linesize #
    

    除了使用log命令之外,您还可以通过从菜单中选择File> Log并选择列表中的一个选项来访问日志功能。

    Description

    log及其子命令告诉Stata打开日志文件,并创建一个记录,显示你输入的内容以及结果窗口中显示的任何输出,暂停或恢复日志记录,检查日志记录状态以及关闭日志文件。
    默认格式是Stata标记和控制语言(SMCL),但也可以是纯文本。一次最多可以打开五个SMCL和五个文本日志。
    cmdlog及其子命令与log类似,但创建的命令日志仅记录您键入的内容,并且只能是纯文本。 您可以只在一个时间设置logtype打开一个命令日志,并设置linesize是控制与日志相关的系统参数的命令。

    Options for use with both log and cmdlog

    append: 指定将结果追加到现有文件中。如果文件不存在,将创建一个新文件。
    replace: 指定文件名(如果已经存在)被覆盖。当您没有指定替换或追加时,该文件被认为是新的。如果指定的文件已经存在,则会发出错误消息,并且不会启动日志记录。

    Options for use with log

    text and smcl:指定记录日志的格式。默认值描述起来很复杂,但却是您所期望的:
    如果将文件指定为filename.smcl,则默认为以SMCL格式写入日志(无论set logtype的值如何)。
    如果您将文件指定为filename.log,默认情况下是以文本格式写入日志(不管设置日志类型的值如何)。
    如果键入不带扩展名的filename并且既未指定smcl选项也未指定text选项,则默认为根据set logtype的值写入文件。 如果尚未设置logtype,则默认为SMCL。 此外,如果正在创建SMCL日志,则指定的文件名将固定为读取filename.smcl;如果正在创建文本日志,则将修复为filename.log。
    如果您指定text or smcl选项,那么您指定的内容将决定如何写入日志。如果指定的文件名没有扩展名,则会为您添加适当的扩展名。
    如果打开多个日志文件,则可以为每个文件选择不同的格式。
    name(logname): 指定可用于在日志打开时引用日志的可选名称。 您可以启动多个日志文件,为每个日志文件指定一个不同的日志名称,然后逐个关闭,暂时挂起或恢复它们。 默认日志名称为<unnamed>。
    nomsg: 禁止显示日志文件顶部和底部的默认消息。 此消息由日志名称(如果在name()中指定,否则为未命名),日志路径,日志类型以及打开或关闭的日期组成。

    Option for use with set logtype

    永久指定除了立即进行更改外,还要记住日志类型设置,并在调用Stata时成为默认设置。

    Remarks

    完整日志是一个文件,其中包含您键入的内容以及结果窗口中显示的Stata输出。 要开始记录会话,请使用filename键入log。 如果filename包含嵌入的空格,请记住将其用双引号括起来。
    当默认日志格式为SMCL时,如果指定了没有文件名,则log将添加扩展名.smcl。 如果指定了文本或将默认日志类型更改为文本,则日志会添加扩展名.log。
    我们建议使用SMCL,因为它保留了字体和颜色。 可以从查看器窗口查看和打印SMCL日志,任何文本文件也可以; 见[R]视图。 控制台Stata的用户可以使用translate来生成可打印版本的日志文件。 translate还可以将SMCL日志转换为文本或其他格式,例如PostScript或PDF; 见[R]翻译。

    Examples

    . log using mylog
    
    . log close
    
    . log using mylog, append
    
    . log close
    
    . log using "filename containing spaces"
    
    . log using firstfile, name(log1) text
    
    . log using secondfile, name(log2) smcl
    
    . log using thirdfile, name(log3) smcl
    
    . log query _all
    
    . log close log1
    
    . log close _all
    

    Stored results

    log and cmdlog store the following in r():

    Macros         
    r(name)             logname
    r(filename)         name of file
    r(status)           on or off
      r(type)             smcl or text
    
    log query _all stores the following in r():
    
    Scalars        
      r(numlogs)          number of open log files
    
    For each open log file, log query _all also stores
    
    Macros         
      r(name#)            logname
      r(filename#)        name of file
      r(status#)          on or off
      r(type#)            smcl or text
    

    where # varies between 1 and the value of r(numlogs). Be aware that # will not necessarily represent the order in which the log files were first opened, nor will it necessarily remain constant for a given log file upon multiple calls to log query.

    help log
    
    *------------------------------------开始记录-------------
     cap log close
     log using mypaper.log, text replace  
    
      *-调入数据
        use "fullauto.dta", clear
      *-Table 1
        tabstat price weight length mpg foreign
      *-Table 2
        pwcorr  price weight length mpg foreign 
      *-Table 3
        reg     price weight length mpg foreign
        est store m0
        reg     price weight length mpg if foreign==1
        est store m_f
        reg     price weight length mpg if foreign==0
        est store m_d
        esttab m0 m_f m_d, mtitle("All Foreign Domestic") ///
               b(%4.3f) nogap compress replace            ///
               s(N r2_a) star(* 0.1 ** 0.05 *** 0.01) 
     log close                           // 
    *------------------------------------结束记录------------
     shellout mypaper.log
    

    相关文章

      网友评论

        本文标题:log 命令——记录你的分析过程

        本文链接:https://www.haomeiwen.com/subject/snhvgqtx.html