Desarrolle un programa en Stata para manejar múltiples archivos en la carpeta de trabajo como SAS usando tempfile
Estoy desarrollando esta envoltura alrededortempfile
en Stata para manejar múltiples conjuntos de datos al mismo tiempo sin tener que guardarlos en el directorio actual. Entonces, en esencia, quiero que Stata imite SAS, y esa es la razón por la que el nombre del programa es el trabajo; El código inicial no tiene opciones y tiene una funcionalidad mínima. Me adhiero a su consejo de no tokenizar y programar trabajos; sin embargo, el problema es que una vez que recuerdo el archivo temporal en otro programa, este programa (trabajo) no pasa el identificador al siguiente para llamar al archivo temporal.
capture program drop work
program define work
version 12.1
syntax [name(id="file name")] [, sort(string) ]
*tokenize namelist
*di "namelist'"
*if "nol'" !="" | "nol'" !="" | "nolabel'" !="" {
* di "``namelist''"
*}
tempfile namelist'
*di "namelist'"
if "sort'" != "" {
sortsort'
}
di "File 'namelist'' saved in following temporary work folder"
save ` namelist''
*di "Now you can use temporary file =namelist'' in your program"
end
Una vez que llamo al archivo temporal dentro de mi archivo do de la siguiente manera, aparece este error:
work Orig File 'Orig' saved in following temporary work folder file C:\Users\saa602\AppData\Local\Temp\ST_00000001.tmp saved
. di "`Orig'"
. use `Orig', replace
invalid file specification
Tenga en cuenta que he estado usandotempfile
para manejar con éxito múltiples archivos, especialmente una vez que combina gran cantidad de archivos sin problemas; sin embargo, un programa contenedor con opciones para ordenar y mostrar la ubicación del directorio de trabajo sería muy útil para todos nosotros.