如何在stata中输出一个本地值,我正在使用下面的命令,但它在Stata 12中给出了一个错误variable local not found
sysuse auto
summ price,de
outsheet local p1 local p99 using "range\range.csv", replace c我也试过
outsheet r(p1) r(p99) using "range\range.csv", replace c 但误差factor variables and time-series operators not allowed
发布于 2014-04-28 10:29:19
将一些本地宏值导出到小csv文件的一个简单方法是编写一个带有逗号的文本文件,最后将其重命名为csv。使用您的示例,您可以尝试:
sysuse auto
file open TABLES using "ranges.txt", write replace //create temporary text file
file write TABLES "p1, p99" _n // columns headers
summ price,de
file write TABLES (r(p1)) "," (r(p99)) _n // write locals separated by commas into the text file
file close TABLES
copy ranges.txt ranges.csv, replace //change extension to csv
rm ranges.txt //remove text file如果要对每个级别的rep78重复此过程:
sysuse auto
levelsof rep78, local(levels)
file open TABLES using "ranges.txt", write replace //create temporary text file
file write TABLES "level of rep78, p1, p99" _n // columns headers
foreach i of local levels {
summ price if rep78==`i',de
file write TABLES "`i', `r(p1)' , `r(p99)'"_n
}
file close TABLES
copy ranges.txt ranges.csv, replace //change extension to csv
rm ranges.txt //remove text file发布于 2014-04-23 09:37:58
outsheet用于将数据作为变量导出。使用outsheet导出与变量无关的任何内容的唯一方法是将该对象放入变量中。因此,您的语法绝对不能工作,因为您引用的元素中没有一个是变量名。
在summarize, detail结果(如第1和第99百分位数)在保存的结果(如r(p1)和r(p99) )中是可访问的之后,可以使用类似于本地宏的语法来引用它们,但是这种保存的结果并不是本地宏。
如果你支持并告诉我们你真正的问题,你可能会得到更积极的建议。如果要将summarize结果导出到电子表格,则方法以复制和粘贴开始。
https://stackoverflow.com/questions/23240237
复制相似问题