美文网首页stata数据清洗
mergeall -- 合并多个文件的安全方法

mergeall -- 合并多个文件的安全方法

作者: 松柏林stata | 来源:发表于2019-04-24 07:11 被阅读32次

    安装命令

    ssc install mergeall
    

    Syntax

    mergeall varlist using folder [, options]
    

    varlist 是唯一标识观察结果的匹配变量。 这是必需存在的。

    Options and Description

    csv: 合并的文件是.csv(默认)
    txt: 合并的文件是.txt
    dta: 合并的文件是.dta
    tab: 以制表符分隔的数据
    comma: 以逗号分隔的数据
    double: 将所有数字变量记录为 double . 请参阅 format
    format:指定在必须将数字变量转换为字符串的情况下使用的格式/请参阅 tostringformat
    do(filename): 在合并之前,在每个单独的文件上运行指定的do文件
    strings(varlist): 强制 varlist为字符串格式,所有其他格式为数字
    force: 强制转换为字符串或数字,字符串选项必需。
    showsource: 生成一个新的字符串变量,其中包含从中抽取每个观察的文件的名称。

    Description

    mergeall 由于可变存储类型或重复的唯一标识符,合并文件夹中的所有文件而不会丢失数据。

    Remarks

    mergeall 循环遍历指定文件夹中的所有文件,在合并之前检查变量类型。它将所有文件中的字符串变量设置为每个文件中的字符串,以防止数据丢失。 默认情况下,Stata 强制使用主文件的变量类型在使用文件上,这可能导致数据丢失。
    mergeall 需要指定唯一标识符,如果标识符在文件中不唯一,则退出时会出错。 需要一个唯一标识符,因为当没有唯一标识符时,Stata有时会以意想不到的方式合并,而 mergeall 的目标是使许多文件合并为超级安全。
    mergeall 使用Stata10样式合并执行1到1合并,并创建一个新变量_disagreement,如果两个或多个数据集中存在观察值,则该变量等于1,并且数据集的值不同。 如果_disagreement等于1,则表示您丢失了信息。
    如果你愿意,可以在使用do(filename)合并之前在每个数据集上运行清理.do文件(例如,这对于修复唯一标识符中的错误非常有用)。
    strings 可能是一个坏主意,因为它可能导致数据丢失,但如果你非常确定你不会丢失数据,它运行速度会快一些。
    当您想要返回原始数据以检查值,但不知道哪个原始文件包含您要查找的观察值时,showsource 选项对故障排除非常有用。

    相关文章

      网友评论

        本文标题:mergeall -- 合并多个文件的安全方法

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