楼主: 匿名
12324 5

[Stata] [Stata]日志管理(一):Log/ cmdlog/do-file / profile.do [推广有奖]

匿名网友
楼主
匿名网友  发表于 2015-9-27 04:25:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Log, cmdlog ,do-file& profile.do in Stata
Richard Tardanico

/*讲义下载*/
  1. copy "http://www2.fiu.edu/~tardanic/log.pdf" "log.pdf"
  2. !=start log.pdf  //windows
  3. *!=open log.pdf  //mac
复制代码

I. Log & cmdlog:

log :日志记录
/*记录方式一:菜单操作*/
File------>Log------>Begin或点击log图标(线圈笔记本)

log.png

/*记录方式二:命令方式*/
/*log基本用法*/
  1. log close                            *关闭日志 [或者:点击 File---->Log----->Close]
  2. quietly log using example            *quietly:不显示时间/名称/路径/格式            
  3. log using example                    *命名为example (默认smcl格式)
  4. log using example.log                *log格式
  5. log using example.txt                *txt格式
  6. log using D:\StataMP\do\example      *以example命名并保存至某一路径
  7. log using example,replace            *添加replace为新建或更新日志
  8. log using example,append             *append:追加原有记录
  9. log off                              *临时关闭(非完全)[或者: 点击 File---->Log---->Suspend]
  10. log on                               *开启日志  [或者:点击 File---->Log---->Resume]
  11. view example.log                     *查看[或者: 点击 File--->Log----->View]
  12. view example.txt                     *同上
复制代码
注:log close 可以简写为log c
  1. 在忘记开启的情况下,可使用#review查看已执行的命令,默认5条:
  2. #review 100  //查看100条
复制代码
cmdlog:记录键入的命令,不含执行结果
/*cmdlog基本用法*/
  1. cmdlog using [文件名].do,replace     *或append,其它用法同log,如:
  2. cmdlog off                           *暂停记录
  3. cmdlog on                            *开始记录
  4. cmdlog close                         *关闭记录
复制代码
/*日志文件的输出*/
/*一.将log/cmdlog转化为do文件 */
  1. //log:使用第三方命令log2do2
  2. //以当前工作路径下ABS为例:(剥离运行结果,提取执行语句)
  3. ssc install log2do2
  4. log close
  5. log using auto.log,replace
  6. sysuse auto
  7. scatter price length
  8. log2do2 "auto.log" ,saving(auto.do) replace  
  9. doedit auto.do
复制代码
/*方式二:点击Review边栏*/
Review------>类别command------->右键:send select to Do-file editor
  1. //cmdlog:
  2. //例如在command窗口下键入:
  3. cmdlog using auto.do,replace
  4. sysuse auto
  5. scatter price length
  6. exit,clear                //退出后打开auto.do即可
复制代码
//日志格式转换,如:
  1. translate example.smcl example.pdf
  2. translator query
复制代码

2.PNG

          smcl为官方推荐格式易于保存及标注,smcl转html/docx/epub/tex等可参阅:

[Stata]markdoc/weaver/ketchup:日志文件(smcl)专业输出命令集

II. Do-file

  1. doedit          //编辑及查看
  2. do [文件名]    //运行:File---->Do---->选取practice
复制代码

do.png


  1. * practice.do: 一个例子
  2. version 10.0 // 或其它版本号
  3. capture log close
  4. set more off
  5. log using wage, replace
  6. use http://www.ats.ucla.edu/stat/stata/notes/hsb2, clear  //修正数据来源
  7. d
  8. su
  9. su math science, d
  10. tab female ses, col chi2
  11. hist math, norm
  12. gr box math
  13. hist science, norm
  14. gr box science
  15. scatter math science || qfit math science
  16. corr math science
  17. reg math science
  18. eststo
  19. esttab using math.rtf, title("Math~Science") replace
  20. log close
  21. exit
复制代码
保存为practice.do文档后:
  1. doedit practice.do  //查看
  2. do practice       //运行
复制代码

注:除使用do-file editor内置编辑器外,也可以使用Notepad++,Sublime Text等其它编辑器,调用方法在profile.do中简介,可参考如下地址:

Some notes on text editors for Stata users texteditors.pdf (296.56 KB)

在Sublime Text 3中使用Stata 13处理中文do文档的修改方法
神级编辑器(Sublime Text 3)在Stata 13/14中的应用


III. Profile.do

  1. //在某一路径下创建文件夹:
  2. mkdir d:\stata13\ado\data     
  3. mkdir d:\stata13\ado\data\assignments
  4. mkdir d:\stata13\ado\data\misc
复制代码
  1. /*为提高处理变量效率:可设置 F1为 "save, replace" F2为"compress",也
  2. 可设置文件夹路径以快速切换*/
复制代码
  1. * profile.do. September 2007.
  2. version 10.0
  3. set matsize 800, perm           
  4. set more off, perm              
  5. cd d:\stata13\ado\data         
  6. global F1 = "save, replace"
  7. global F2 = "compress"
  8. program define assign
  9. cd d:\stata13\ado\data\assignments
  10. end
  11. assign
  12. program define misc
  13. cd d:\stata13\ado\data\misc
  14. end
  15. misc
  16. program define ST3
  17. version 12
  18. winexec D:\Program Files\Sublime Text\sublime_text.exe
  19. end
复制代码
注1:perm为permanently缩写,设定后进入assignments文件夹只需输入assign,misc同,set more off,perma
       (关闭分页 符,set more on 重开分页)
注2:自Stata12起可自动分配内存 ,因此不必添设set memory ,查看内存分配参数可以输入query memory
       在处理1G 以上数据集时,推荐使用Stata ( 64位版本).

保存为profile.do并备份,重启可见如以下字样:
  running D:\StataMP\profile.do ...

1.PNG


  1. use http://www.ats.ucla.edu/stat/stata/notes/hsb2, clear
  2. assign //进入 assignments 文件夹
  3. misc //进入misc 文件夹
  4. gen scores=read+write+math+science+socst
  5. su scores, d
  6. hist scores, norm
  7. gr box scores
复制代码
//按F2:compress scores
//按F1:保存scores
//调用外部编辑器的方法,除使用winexec外:(以SublimeText为例)
方法二:!"":
  1. !"D:\Program Files\Sublime Text\sublime_text.exe"
复制代码
方法三:shell
  1. shell D:\Program Files\sublime_text.exe
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:do-file Profile Stata file tata windows example 笔记本 日志记录 close

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
xddlovejiao1314 + 100 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

本帖被以下文库推荐

沙发
rrjj101022 发表于 2015-9-27 07:53:54
谢谢分享~~~
已有 2 人评分经验 论坛币 热心指数 收起 理由
xddlovejiao1314 + 10 + 3 鼓励积极发帖讨论
niuniuyiwan + 10 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 13  热心指数 + 1   查看全部评分

藤椅
niuniuyiwan 在职认证  发表于 2015-9-27 09:37:12
rrjj101022 发表于 2015-9-27 07:53
谢谢分享~~~
感谢支持,中秋节快乐!
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
xddlovejiao1314 + 10 + 10 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
xddlovejiao1314 学生认证  发表于 2015-9-27 15:17:20
好帖,谢谢分享。
已有 1 人评分经验 论坛币 热心指数 收起 理由
niuniuyiwan + 100 + 10 + 3 中秋快乐!!!

总评分: 经验 + 100  论坛币 + 10  热心指数 + 3   查看全部评分

报纸
niuniuyiwan 在职认证  发表于 2015-9-27 16:45:43
xddlovejiao1314 发表于 2015-9-27 15:17
好帖,谢谢分享。
感谢师兄,中秋节快乐!!!

地板
hfqztyp 学生认证  发表于 2017-5-29 22:33:35
请问,如果一开始先log on,运行完程序之后,log off,此时日志文件是默认保存在哪个路径?还是暂存在内存里?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 19:16