【问题标题】:How to store a mean value in a local macro and then save it in another file?如何将平均值存储在本地宏中,然后将其保存在另一个文件中?
【发布时间】:2013-05-27 23:34:54
【问题描述】:

我有一个Stata 文件file1.dta,其中一个变量是income。我需要计算average_income,将其分配给本地宏,然后存储在另一个Stata 文件New.dta 中。

我在do 文件中尝试了以下内容:

#delimit;
clear;
set mem 700m;

use file1.dta;
local average_income = mean income; 

use New.dta;
gen avincome = average_income;

但是,它不起作用。

【问题讨论】:

    标签: stata local-variables stata-macros


    【解决方案1】:

    一种方法如下:

    #delimit;
    clear;
    set mem 700m;
    
    use file1.dta;
    quietly: summarize income;
    local average_income = r(mean); 
    
    use New.dta;
    gen avincome = `average_income';
    

    【讨论】:

    • 嗨@stately_treasures 谢谢你的回复。我试过了,出现以下错误:。 gen avincome = average_income; average_income not found
    • 最后一行需要`average_income'。那是一个本地宏,需要这样引用。否则,Stata 将查找具有该名称的变量或标量,但不会找到。
    • 更大的问题是发帖者的另一个问题stackoverflow.com/questions/16781571/… 如何为几个文件执行此操作。
    【解决方案2】:

    这与您的其他帖子重叠,即How to retrieve data from multiple Stata files?。你不说你为什么这么想

    use file1.dta;
    local average_income = mean income; 
    

    会起作用,但第二行只是幻想语法。有多种方法可以计算变量的平均值,最常见的是使用summarize 并从r(mean) 中获取平均值。

    您可能应该删除这个问题:它没有长期目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 2022-01-26
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多