1. 问题简介

安装外部命令时,可能会出现“cannot write in directory C:\Users\�ַ�\ado\plus\l”的错误提示,这是因为该文件夹的权限不可取,简单来说就是路径出现中文字符。Stata的安装路径要求是英文,不能包含中文字符,所以安装过程中可能会遇到的情况:


image.png

 此时,我们查看stata当前的安装及工作路径,输入“sysdir”,在下图中可以看到,stata、base、site、plus、personal、oldplace等文件夹的位置,

其中base文件夹用于存储 Stata自带的基础命令 , plus文件夹用于存储外部命令 , personal用于存储自己编写的命令和do文件。

image.png

我们下载的外部命令通常为 .ado 格式,通常是储存在 ado文件夹中的 plus文件夹中,当用户(Users)名称设置为中文时,Stata会显示“cannot write in directory”无法读入该文件夹,导致安装失败,电脑用户名一般修改起来较为困难,那该如何解决这样的问题呢?下面就来介绍一段程序,可以完美解决这样的问题。


2. 设置安装路径

一般来说,Stata软件装到D盘或者其他盘,外部命令下载的文件夹通常还是在C盘,下面的程序可以帮助我们设置外部命令下载的位置:

adopath+"G:\stata17\ado\plus" //显示当前stata路径
clear all
sysdir set PLUS "G:\stata17\ado\plus"  //设置外部命令存放方式
sysdir set PERSONAL "G:\ado\person"  //设置用户个人编写的命令的存储位置
sysdir set OLDPLACE "G:\ado\oldplace"
sysdir

运行此程序,并将此程序保存在stata安装路径下,如图:

image.png

此时可以看到程序运行之后,stata的工作路径发生改变,如图:

image.png

 从上图可以看到,Stata的工作路径已经被修改了, plus、 personal、 oldplace文件夹的路径都已经修改到了G盘中。运行完以上步骤后, Stata就能用之前安装的命令了,不管是运用ssc , search,net ,findit 还是 github,都可以将命令安装到当前的plus文件夹啦!


重新运行刚刚的代码

ssc install logout

image.png

可以看到logout命令直接被下载到 G:\stata17\ado\plus\ 文件夹中。只要在安装前设置好安装路径,安装外部命令出现的问题就可以完美解决啦 !!!

3. 案例

把今天的作业也放上来凑数(hhh)

clear
sysuse auto, clear
rename price y
rename mpg fdi
reg y fdi
est sto  yl1  
gen lny=log(y)
gen lnfdi=log(fdi)
reg lny lnfdi
est sto  yl2 
reg y fdi,r
est sto  yl3 
reg y fdi
predict e, r
gen ln_e2=log(e*e)


reg ln_e2 fdi
predict ghat,xb/*前面四步都是为了这一步,这一步是在预测拟合值,xb可以删掉*/
gen se=exp(ghat) 
reg y fdi[aw=1/se]
est sto  yl4 
local d  "using "C:\Users\230468\Desktop\11.rtf""        // 输出到指定地方的word文档中
local a  "yl1 yl2 yl3 yl4 "                   
esttab `a' using "G:\work\01.rtf", b(%6.4f) se(%6.4f) nogap compress   ///
    star(* 0.1 ** 0.05 *** 0.01)  ///
    ar2 scalar(N) replace         ///
    // 使得回归结果中不报告虚拟变量的系数,而且用Yes进行设置)

最后生成一个rtf文件:

image.png

————————————————

版权声明:本文为CSDN博主「talle2021」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_60200880/article/details/129623570