美文网首页
mergemany -- 一个灵活的命令来合并许多文件

mergemany -- 一个灵活的命令来合并许多文件

作者: 松柏林stata | 来源:发表于2019-04-26 14:18 被阅读0次

    Syntax

    用户列出完整文件名的文件的一对一合并

    mergemany 1:1 filename1 filename2..., match(varlist) [options]
    

    用户利用文件名中的数字规则性进行文件的一对一合并,

    mergemany 1:1 fileprefix, match(varlist) numerical(numlist) [options]
    

    当前工作目录中所有文件的一对一合并

    mergemany 1:1 all, match(varlist) all [options]
    

    此语法还根据合并推广为一对多,多对一和多对多匹配

    Options

    match(varlist):列出执行匹配的变量 variable(s) ; 这是必需的选项。
    numerical(numlist):基于文件名的数字后缀指定合并时使用;不能全部使用。
    all:合并当前工作目录中的所有文件;不能与numeric(numlist)一起使用。
    keep:保存当前在内存中的数据集,同时在所有filnames之间执行合并; 在这种情况下,建议使用 saving(filename)(文件名)。
    saving(filename):合并生成的文件保存,并命名为filename.dta; 建议通过keep保留内存中的数据集。。
    verbose:创建一个变量来标记每个单独合并的合并结果; 默认情况下变量为_merge_filename。
    import(filetype):允许直接导入和合并非.dta文件。 filetype必须显示正在导入的数据类型(例如.csv,.raw)。 使用.dta文件时,不应使用此选项。
    inoption(options) :允许在导入数据时指定insheet选项。 可以使用insheet中提供的任何选项。 只有在通过导入时才能使用此选项(文件类型)。

    Description

    mergemany是命令merge的扩展,为许多 'using' datasets 合并到一个 final dataset 提供了一种灵活的方式。mergemany能够执行合并中定义的标准合并(一对一,一对多,多对一,多对多); 必须指定其中一个匹配项。
    mergemany提供了许多方法来指定要合并的文件。 文件名可以完整列出,允许在单独的目录中合并文件或没有明显的命名方案。 在文件共享公共前缀但由于后缀不相同(例如file1,file2,file3 ......)而不同的情况下,可以使用数字后缀。 在这种情况下,后缀将作为参数列出,并且必须指定选项numeric(numlist)。 最后,可以将当前工作目录中给定类型的所有文件合并到一个文件中(有关导航到所需目录的帮助,请参阅cd)。 合并目录中的所有文件时,应该包含参数all以代替文件名,并且必须指定all选项。
    合并到父文件中的每个使用文件的结果匹配率显示为程序输出,但是为了包含列出每个观察的源和内容的结果变量(根据合并中的变量_merge),选项详细 必须指定。有关这些输出的更多详细信息以及这些变量所采用的值(如果已指定),请参阅cd for help in navigating to a required directory)

    mergemany允许直接导入非.dta文件并一步合并。 在这种情况下,应指定选项import(filetype),其中 filetype 指的是要导入的数据类型。 这支持可以通过 insheet 命令导入的任何数据类型。 如果在导入数据时需要进一步选择 insheet(例如case),则可以使用选项 inoption(options)

    Examples

    执行1:1匹配合并列出完整文件名

    Setup
        . webuse autosize
        . list
        . webuse autoexpense
        . list
        . webuse auto
        . list
    
        . mergemany 1:1 http://www.stata-press.com/data/r12/autoexpense http://www.stata-press.com/data/r12/autosize
            http://www.stata-press.com/data/r12/auto, match(make)
        . list
    

    使用名为auto的文件夹中的所有文件执行1:1匹配合并

    Setup
        . mkdir auto
        . cd auto
        . webuse autosize
        . save auto1
        . webuse autoexpense
        . save auto2
        . webuse auto
        . save auto3
    
        . mergemany 1:1 all, match(make) all
    

    使用auto文件夹中的所有文件的数字规则性执行1:1匹配合并(在上面创建)

        . mergemany 1:1 auto, match(make) numerical(1(1)3)
    

    相关文章

      网友评论

          本文标题:mergemany -- 一个灵活的命令来合并许多文件

          本文链接:https://www.haomeiwen.com/subject/lirxnqtx.html