Syntax
用戶列出完整文件名的文件的一對一合并
mergemany 1:1 filename1 filename2..., match(varlist) [options]
用戶利用文件名中的數(shù)字規(guī)則性進行文件的一對一合并,
mergemany 1:1 fileprefix, match(varlist) numerical(numlist) [options]
當(dāng)前工作目錄中所有文件的一對一合并
mergemany 1:1 all, match(varlist) all [options]
此語法還根據(jù)合并推廣為一對多,多對一和多對多匹配
Options
match(varlist):列出執(zhí)行匹配的變量 variable(s) ; 這是必需的選項。
numerical(numlist):基于文件名的數(shù)字后綴指定合并時使用;不能全部使用。
all:合并當(dāng)前工作目錄中的所有文件;不能與numeric(numlist)一起使用。
keep:保存當(dāng)前在內(nèi)存中的數(shù)據(jù)集,同時在所有filnames之間執(zhí)行合并; 在這種情況下,建議使用 saving(filename)(文件名)。
saving(filename):合并生成的文件保存,并命名為filename.dta; 建議通過keep保留內(nèi)存中的數(shù)據(jù)集。。
verbose:創(chuàng)建一個變量來標(biāo)記每個單獨合并的合并結(jié)果; 默認情況下變量為_merge_filename。
import(filetype):允許直接導(dǎo)入和合并非.dta文件。 filetype必須顯示正在導(dǎo)入的數(shù)據(jù)類型(例如.csv,.raw)。 使用.dta文件時,不應(yīng)使用此選項。
inoption(options) :允許在導(dǎo)入數(shù)據(jù)時指定insheet選項。 可以使用insheet中提供的任何選項。 只有在通過導(dǎo)入時才能使用此選項(文件類型)。
Description
mergemany是命令merge的擴展,為許多 'using' datasets 合并到一個 final dataset 提供了一種靈活的方式。mergemany能夠執(zhí)行合并中定義的標(biāo)準(zhǔn)合并(一對一,一對多,多對一,多對多); 必須指定其中一個匹配項。
mergemany提供了許多方法來指定要合并的文件。 文件名可以完整列出,允許在單獨的目錄中合并文件或沒有明顯的命名方案。 在文件共享公共前綴但由于后綴不相同(例如file1,file2,file3 ......)而不同的情況下,可以使用數(shù)字后綴。 在這種情況下,后綴將作為參數(shù)列出,并且必須指定選項numeric(numlist)。 最后,可以將當(dāng)前工作目錄中給定類型的所有文件合并到一個文件中(有關(guān)導(dǎo)航到所需目錄的幫助,請參閱cd)。 合并目錄中的所有文件時,應(yīng)該包含參數(shù)all以代替文件名,并且必須指定all選項。
合并到父文件中的每個使用文件的結(jié)果匹配率顯示為程序輸出,但是為了包含列出每個觀察的源和內(nèi)容的結(jié)果變量(根據(jù)合并中的變量_merge),選項詳細 必須指定。有關(guān)這些輸出的更多詳細信息以及這些變量所采用的值(如果已指定),請參閱cd for help in navigating to a required directory)
mergemany允許直接導(dǎo)入非.dta文件并一步合并。 在這種情況下,應(yīng)指定選項import(filetype),其中 filetype 指的是要導(dǎo)入的數(shù)據(jù)類型。 這支持可以通過 insheet 命令導(dǎo)入的任何數(shù)據(jù)類型。 如果在導(dǎo)入數(shù)據(jù)時需要進一步選擇 insheet(例如case),則可以使用選項 inoption(options)。
Examples
執(zhí)行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的文件夾中的所有文件執(zhí)行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文件夾中的所有文件的數(shù)字規(guī)則性執(zhí)行1:1匹配合并(在上面創(chuàng)建)
. mergemany 1:1 auto, match(make) numerical(1(1)3)