楼主: huagnxinbnu
17459 20

[编程问题求助] stata13 使用profile问题 [推广有奖]

11
zlqs1985 发表于 2014-10-20 11:45:24
搞定了,楼主,你输入sysdir后会发现,返回的结果是
STATA:  C:\Program Files (x86)\Stata12\
UPDATES:  C:\Program Files (x86)\Stata12\ado\updates\
    BASE:  C:\Program Files (x86)\Stata12\ado\base\
    SITE:  C:\Program Files (x86)\Stata12\ado\site\
    PLUS:  C:\Program Files (x86)\Stata12\ado\stbplus\
PERSONAL:  C:\Program Files (x86)\Stata12\ado\Personal\
OLDPLACE:  c:\ado\

   所有的子文件夹的后缀都是大写字母,比如STATA,而不是stata, 在这一点上stata是case sensitive的

12
summer.yanyan 发表于 2014-11-3 11:04:00
zlqs1985 发表于 2014-10-20 11:45
搞定了,楼主,你输入sysdir后会发现,返回的结果是
STATA:  C:\Program Files (x86)\Stata12\
UPDATE ...
我这个还没搞定,求赐教啊!

13
spiritfield 发表于 2015-10-7 09:25:05
i found a quotes mark is necessary when citing a directory in stata 12 and so on.
like this :  doedit  "`c(sysdir_stata)'profile.do"

14
gxlzlxs 在职认证  发表于 2015-12-5 14:22:26
最佳解决方案:

*-说明:
* 此文件设定了每次启动stata时需要做的一些基本设定
* 你可以在此文件中添加你希望在stata启动时立刻执行的命令

set type double
set memory 800m
set matsize 4000
set scrollbufsize 500000  
set more off, perma

adopath + "D:\Program Files (x86)\stata14\ado\Examples"
adopath + "D:\Program Files (x86)\stata14\ado\personal"
adopath + "D:\Program Files (x86)\stata14\PX_papers"
adopath + "D:\Program Files (x86)\stata11\ado\personal"
adopath + "D:\Program Files (x86)\Stata12.0\ado\adofiles"
adopath + "D:\Program Files (x86)\Stata12.0\ado\base"
adopath + "D:\Program Files (x86)\Stata14\ado\personal\Net_course_A"
adopath + "D:\Program Files (x86)\stata14\dta"
adopath + "D:\Program Files (x86)\Stata14\ado\plus\x"
adopath + "D:\Program Files (x86)\Stata14\ado\plus\e"
adopath + "D:\Program Files (x86)\Stata14\ado\plus\a"
adopath + "D:\Program Files (x86)\stata14\ado\personal"
adopath + "D:\Program Files (x86)\Stata14\ado\base"

adopath + "D:\Program Files (x86)\stata14\ado\personal\_Myado"
adopath + "D:\Program Files (x86)\stata14\ado\personal\update1"
adopath + "D:\Program Files (x86)\stata14\ado\personal\update_old"
adopath + "D:\Program Files (x86)\stata14\ado\personal\invt"


cap cd `c(sysdir_stata)'do                                                          //cd`c     `后面的c应改为你stata存放的盘符
if _rc{
   mkdir `c(sysdir_stata)'do                                                          //cd`c     `后面的c应改为你stata存放的盘符
}
local fn = subinstr("`c(current_time)'",":","",2)                          //cd`c     `后面的c不改                 
local fn1 = subinstr("`c(current_date)'"," ","",3)                            //cd`c     `后面的c不改  
log using `d(sysdir_stata)'do\s`fn1'`fn'.log, text replace               //cd`c     `后面的c应改为你stata存放的盘符
cmdlog using `d(sysdir_stata)'do\c`fn1'`fn'.log, replace                   //cd`c     `后面的c应改为你stata存放的盘符


cd `c(sysdir_personal)'                                                         //cd`c     `后面的c应改为你stata存放的盘符

sysdir set PLUS "D:\Program Files (x86)\stata14\ado\plus"
sysdir set OLDPLACE "D:\Program Files (x86)\ado"
sysdir set OLDPLACE "D:\Program Files (x86)\Stata14\ado\myado"  
sysdir set PERSONAL "D:\Program Files (x86)\stata14\ado\personal"


  
if _caller() >= 8 {
  window menu clear
  window menu append submenu "stUser" "&Meta-Analysis"
  window menu append item "Meta-Analysis" "Of Binary and Continuous (meta&n)" "db metan"
  window menu append item "Meta-Analysis" "Of Effects (&meta)" "db meta"
  window menu append item "Meta-Analysis" "Of p-values (meta&p)" "db metap"
  window menu append item "Meta-Analysis" "Cumulative (meta&cum)" "db metacum"
  window menu append item "Meta-Analysis" "Regression (meta®)" "db metareg"
  window menu append item "Meta-Analysis" "Funnel Graph, metan-based (f&unnel)" "db funnel"
  window menu append item "Meta-Analysis" "Funnel Graph, &vertical (metafunnel)" "db metafunnel"
  window menu append item "Meta-Analysis" "L'abbe Graph, metan-based (&labbe)" "db labbe"
  window menu append item "Meta-Analysis" "NNT, metan-based (metann&t)" "db metannt"
  window menu append item "Meta-Analysis" "Influence Analysis, metan-based (metan&inf)" "db metaninf"
  window menu append item "Meta-Analysis" "Influence Analysis, meta-based (metain&f)" "db metainf"
  window menu append item "Meta-Analysis" "Galbraith Plot for Heterogeneity (&galbr)" "db galbr"
  window menu append item "Meta-Analysis" "Publication Bias (meta&bias)" "db metabias"
  window menu append item "Meta-Analysis" "Trim and Fill Analysis (met&atrim)" "db metatrim"
  window menu append item "Meta-Analysis" "Meta_lr" "db meta_lr"
  window menu refresh
}

经测试完全OK!!!

15
给我一拳 发表于 2016-3-21 16:44:02
stata的安装目录不要放在系统盘,否则stata没有读取profile.do的权限,所以报错了。我的就是这么解决的,程序没错

16
xq1457 发表于 2016-5-14 23:25:01
gxlzlxs 发表于 2015-12-5 14:22
最佳解决方案:

*-说明:
牛人,我把您修正的profiles运行后显示:invalid `Files'。在命令窗口输入sysdir,显示:STATA:  D:\Program Files (x86)\Stata14\BASE:  D:\Program Files (x86)\Stata14\ado\base\
SITE:  D:\Program Files (x86)\Stata14\ado\site\
PLUS:  c:\ado\plus\
PERSONAL:  c:\ado\personal\
OLDPLACE:  c:\ado\
后来我讲profiles的命令拆开来运行,输入. adopath + "D:\Program Files (x86)\Stata14\ado\Examples",显示:
[1]  (BASE)      "D:\Program Files (x86)\Stata14\ado\base/"
  [2]  (SITE)      "D:\Program Files (x86)\Stata14\ado\site/"
  [3]              "."
  [4]  (PERSONAL)  "c:\ado\personal/"
  [5]  (PLUS)      "c:\ado\plus/"
  [6]  (OLDPLACE)  "c:\ado/"
  [7]              "D:\Program Files (x86)\Stata14\PX_papers"
  [8]              "D:\Program Files (x86)\Stata11\ado\personal"
  [9]              "D:\Program Files (x86)\Stata12.0\ado\adofiles"
…………
请教牛人,我怎么办啊,先谢谢了





3.png (9.34 KB)

3.png

2.png (7.72 KB)

2.png

1.png (2.81 KB)

1.png

17
丁兆海4 在职认证  学生认证  发表于 2016-7-15 21:46:04
gxlzlxs 发表于 2015-12-5 14:22
最佳解决方案:

*-说明:
解决了,谢谢.

18
ineedfabulous12 发表于 2018-6-18 22:23:20
gxlzlxs 发表于 2015-12-5 14:22
最佳解决方案:

*-说明:
你的改法虽然系统没有报错 但是并没有定位到想要的路径 打开后还是stata默认的路径

19
ineedfabulous12 发表于 2018-6-20 10:27:08
首先,连老师的命令本身没啥问题,问题在于不同的stata版本 对路径识别有一点点差异
我是在连老师的基础上做的设定
我与连老师的不同:
1 我安装的是stata13
2 我的安装根目录是   D:\Program Files\stata13\  (所以下面都做了相应调整)
注意的是 先check一下你的根目录下的ado文档中有没有像 plus myado personal updates这样的文件 一般 plus都有 我这里加了updates 否则以下的sysdir set 命令即使没有报错 ,也没有实际效果,因为你没有这样的文档
3 重点是在`c(sysdir_stata)' 两边加双引号 ""  我发现连老师的命令之所以不能执行 大部分是因为在stata13环境下 设置工作目录需要加双引号 否则报错
4 我将连老师在根目录下建 do 改成了建 log 这个文档 所以相应调整了代码 小伙伴也可以改成自己想要建的 名称  最关键是要在这个文档的路径名称上加 双引号 "" 切记 切记 !
5 另外 我在根目录下还先建了 result 文件夹 开机的时候定位在这

以下是我修改后的profile代码 运行了没啥问题 小伙伴们可以试试!
**********************************************************************************
*-说明:
* 此文件设定了每次启动stata时需要做的一些基本设定
* 你可以在此文件中添加你希望在stata启动时立刻执行的命令

set type double
set memory 50m
set matsize 2000
set scrollbufsize 500000  // 结果窗口中显示的行数上限
set more off, perma

*ado文件搜索目录
adopath + "D:\Program Files\stata13\ado\plus"
adopath + "D:\Program Files\stata13\ado\myado"
adopath + "D:\Program Files\stata13\ado\personal"

*默认命令存放目录
sysdir set PLUS     "D:\Program Files\stata13\ado\plus"          // 外部命令的存放位置
sysdir set OLDPLACE "D:\Program Files\stata13\ado\myado"         // 自行编写的stata程序
sysdir set PERSONAL "D:\Program Files\stata13\ado\personal"      // 个人文件夹位置
sysdir set UPDATES  "D:\Program Files\stata13\ado\updates"       // 更新数据存放地 stata13似乎没有这个了

* log文件:自动以当前日期为名存放于 stata13\do 文件夹下
* 若 stata13\ 下没有 do 文件夹,则自行建立一个
cap cd "`c(sysdir_stata)'log"
if _rc{
   mkdir "`c(sysdir_stata)'log"
}
local fn = subinstr("`c(current_time)'",":","",2)
local fn1 = subinstr("`c(current_date)'"," ","",3)
log using "`c(sysdir_stata)'log\s`fn1'`fn'.log", text replace  
cmdlog using "`c(sysdir_stata)'log\c`fn1'`fn'.log", replace

*定义stata启动时的目录
cd "D:\Program Files\stata13\result"

*! gegerate submenu of Meta-analysis
if _caller() >= 8 {
  window menu clear
  window menu append submenu "stUser" "&Meta-Analysis"
  window menu append item "Meta-Analysis" "Of Binary and Continuous (meta&n)" "db metan"
  window menu append item "Meta-Analysis" "Of Effects (&meta)" "db meta"
  window menu append item "Meta-Analysis" "Of p-values (meta&p)" "db metap"
  window menu append item "Meta-Analysis" "Cumulative (meta&cum)" "db metacum"
  window menu append item "Meta-Analysis" "Regression (meta&reg)" "db metareg"
  window menu append item "Meta-Analysis" "Funnel Graph, metan-based (f&unnel)" "db funnel"
  window menu append item "Meta-Analysis" "Funnel Graph, &vertical (metafunnel)" "db metafunnel"
  window menu append item "Meta-Analysis" "L'abbe Graph, metan-based (&labbe)" "db labbe"
  window menu append item "Meta-Analysis" "NNT, metan-based (metann&t)" "db metannt"
  window menu append item "Meta-Analysis" "Influence Analysis, metan-based (metan&inf)" "db metaninf"
  window menu append item "Meta-Analysis" "Influence Analysis, meta-based (metain&f)" "db metainf"
  window menu append item "Meta-Analysis" "Galbraith Plot for Heterogeneity (&galbr)" "db galbr"
  window menu append item "Meta-Analysis" "Publication Bias (meta&bias)" "db metabias"
  window menu append item "Meta-Analysis" "Trim and Fill Analysis (met&atrim)" "db metatrim"
  window menu append item "Meta-Analysis" "Meta_lr" "db meta_lr"
  window menu refresh
}
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
ormosia2009 + 5 + 1 + 5 + 5 精彩帖子
admin_kefu + 30 + 5 热心帮助其他会员

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

20
酥麻饼子 发表于 2019-9-18 16:57:09
gxlzlxs 发表于 2015-12-5 14:22
最佳解决方案:

*-说明:
大佬,解决了,各位伙伴,要是是mac的话,把大佬说的盘符c改为‎⁨Macintosh HD⁩就好了。

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

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