Stata中webuse drugtr代码无法运行,报错数据丢失该如何解决?
解决Stata中
webuse drugtr报错的问题 别慌,这个报错跟安装包半毛钱关系都没有!提示no; data in memory would be lost其实是Stata的贴心保护机制:你当前内存里已经加载了一份数据集,而webuse命令会直接替换掉内存里的现有数据——要是你没保存之前的数据,那不就直接丢了嘛,所以Stata才拦着你执行。
给你几个实用的解决办法,按需选择:
- 要是当前内存里的数据没用了:先清掉内存再加载新数据,执行这两行命令就行:
clear webuse drugtr - 要是还得保留当前数据:先把现有数据存到本地,记得把路径换成你自己的存储路径:
存好之后再执行save "D:/my_stata_files/old_data.dta", replaceclear和webuse drugtr就没问题了。 - 想直接强制替换(谨慎用!):如果你百分百确定当前未保存的数据没用,也可以一步到位,用带
clear选项的命令直接覆盖:
注意:这个操作会直接丢掉当前内存里的未保存数据,千万别手抖选错!webuse drugtr, clear
另外补充一句:webuse是Stata自带的命令,用来加载官方提供的示例数据集,根本不需要额外安装任何包,只要你的Stata能正常联网就能调用这些数据。以后再遇到webuse类似的报错,先看看是不是内存里有没处理的数据,大概率都是这个原因。
内容的提问来源于stack exchange,提问作者Cgdmm




