Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 斯塔塔。如何按排序发布矩阵?或者如何返回矩阵的值?_Sorting_Group By_Stata_Postfile - Fatal编程技术网

Sorting 斯塔塔。如何按排序发布矩阵?或者如何返回矩阵的值?

Sorting 斯塔塔。如何按排序发布矩阵?或者如何返回矩阵的值?,sorting,group-by,stata,postfile,Sorting,Group By,Stata,Postfile,我有以下initial.dta数据集: obs. ID city salary 1 123 Normal 100 2 124 Paris 120 3 125 NY 130 4 122 .a 155 5 120 Paris 100 6 128 Chicago 150 ................ 城市和工资的某些价值可能缺失。

我有以下initial.dta数据集:

obs. ID    city       salary
1    123   Normal       100
2    124   Paris        120
3    125   NY           130
4    122   .a           155
5    120   Paris        100
6    128   Chicago      150
................
城市和工资的某些价值可能缺失。我需要计算每个可能的城市值的平均工资,并将其发布到不同的Stata.dta,以便新的Stata文件如下所示:

       city       averageSalary
       Normal       120
       Paris        110
       NY           150
       .a           108
       Chicago      160
         .................
我试过这个:

clear

postfile myPost city averageIncome using target.dta

    use initial, clear
    sort city
    by city: sum salary, meanonly
    post myPost (`r(city)')  (`r(mean)') // This line does not execute.

postclose myPost    

这里有什么问题?请任何人回答这个问题。或者留下评论…

我想,你是基于我对

代码有三个基本问题

当你执行

by city: sum salary, meanonly 
Stata将遍历城市的不同值,但只有最后一个值的结果将保留在内存中。因此,尽管将显示您想要的结果,但大多数结果都不可用,并且该命令对于您的目的几乎没有用处

你是在猜测,当你发帖时,有一种叫做rcity的东西可供你使用。这种猜测是错误的。请参阅文档中的摘要,以查看以后内存中还有哪些可用内容

你误解了post的功能。本质上,您需要一次发布新结果文件的每一行案例、观察和记录,通常是在一个循环中。你不会一次发布全部结果

幸运的是,对于你和其他想要这样做的人来说,有一种更简单的方法可以得到你想要的东西

 use initial, clear 
 collapse salary, by(city) 
 save target.dta 
默认情况下,塌陷塌陷为means,但

 collapse (mean) salary, by(city) 
是更明确的语法


另请参见Maarten Buis对此处引用的链接的回答。如果需要,可以使用不同的变量名:请参见折叠语法

我想你是基于我对

代码有三个基本问题

当你执行

by city: sum salary, meanonly 
Stata将遍历城市的不同值,但只有最后一个值的结果将保留在内存中。因此,尽管将显示您想要的结果,但大多数结果都不可用,并且该命令对于您的目的几乎没有用处

你是在猜测,当你发帖时,有一种叫做rcity的东西可供你使用。这种猜测是错误的。请参阅文档中的摘要,以查看以后内存中还有哪些可用内容

你误解了post的功能。本质上,您需要一次发布新结果文件的每一行案例、观察和记录,通常是在一个循环中。你不会一次发布全部结果

幸运的是,对于你和其他想要这样做的人来说,有一种更简单的方法可以得到你想要的东西

 use initial, clear 
 collapse salary, by(city) 
 save target.dta 
默认情况下,塌陷塌陷为means,但

 collapse (mean) salary, by(city) 
是更明确的语法


另请参见Maarten Buis对此处引用的链接的回答。如果需要,可以使用不同的变量名:请参见折叠语法

多谢各位。我按照你的建议将你的例子与Maarten Buis结合使用。非常感谢。我按照您的建议,将您的示例与Maarten Buis结合使用。