使用未排序的数据(nearmrg)

时间:2016-04-13 16:55:03

标签: stata

我正在尝试对我的数据文件使用Group Date A 15.01.2012 A 15.02.2012 B 15.01.2012 B 15.02.2012 C 15.01.2012 C 15.02.2012 并且我一直收到同样的错误:

  

使用未分类的数据

由于我想解决这个问题,我使用了非常简单的测试数据而不是我的实际数据,错误信息仍然显示出来。现在我有以下内容:

Master.dta:

Group Date SVarOfInterest1 SVarOfInterest2
A 01.01.2012 1 201
A 15.01.2012 2 202
A 03.02.2012 3 203
A 23.02.2012 4 204
B 03.01.2012 11 211
B 19.01.2012 12 212
B 03.02.2012 13 213
C 20.01.2012 21 221
C 25.01.2012 22 222
C 04.02.2012 23 223
C 03.01.2012 24 224

Using.dta:

nearmrg Group using Using.dta, nearvar(Date) genmatch(SourceDate) lower
using data not sorted
r(5);

这是代码:

public static void main (String[] args){

    //you dont need to initialize the array with zeros
    int[] itemSet = new int[5];

    int counter = 0;

    while(counter < itemSet.length){

        int random = (int)(Math.random() * 76);

        //checks if the array already contains the random number
        if(!Arrays.asList(itemSet).contains(random)){

            itemSet[counter] = random;
            counter++;
        }
    }

    //print the array
    for(int i : itemSet) System.out.println(i);

}

1 个答案:

答案 0 :(得分:2)

Stata认为你的使用数据没有排序。即使看起来排序给你,在运行sort之前对每个数据文件运行nearmrg命令。

tempfile myTemp
<read in Using file>
sort Group
* save temporary file
save "`myTemp'"

<read in master file>
sort Group
nearmrg Group using `myTemp', nearvar(Date) genmatch(SourceDate) lower

作为旁注,nearmrg不是基本Stata的一部分。如果你在你的问题中提到它是用户编写的包,那将会很有帮助。