⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _gconcat.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 7.0.3  01feb2005
program define _gconcat
	version 7, missing
	local strlen = c(maxstrvarlen)
	
	version 6.0, missing

	gettoken type 0 : 0
	gettoken g    0 : 0
	gettoken eqs  0 : 0

	syntax varlist(min=1) [if] [in],/* 
		*/ [Punct(str) Decode MAXLength(str) Format(str) BY(string)]
	if `"`by'"' != "" {
		_egennoby concat() `"`by'"'
	}

	tempvar xy
	gen `xy'=1
	if "`format'" != "" { 
		capture format `xy' `format'
		if _rc == 120 {
			noi di in r "Invalid format"
			exit 120
		}		 
		local format `","`format'""'
	}
	local plen = length(`"`punct'"')
	local type "str1" /* ignores type passed from -egen- */
	if "`maxleng'" != "" {
		capture confirm integer n `maxleng'
		if _rc | `maxleng' < 1 | `maxleng' > `strlen' {
			di in r "invalid maxlength( )"
			exit 198
		}
		else {
			local maxleng "maxl(`maxleng')"
		}
	}
	local decode = "`decode'" == "decode"

	quietly {
		gen `type' `g' = "" 
		tokenize `varlist'
		while "`1'" != "" {
			capture confirm string variable `1'
			if _rc {
				local decoded 0
				if `decode' {
					tempvar dcdd
					capture decode `1', /*
						*/ gen(`dcdd') `maxleng'
					if _rc == 0 {
						replace `dcdd' = /*
						*/ string(`1'`format') /*
							*/ if `dcdd' == ""  
						replace `g' = /*
						*/ `g' + `dcdd' + /*
						*/ `"`punct'"' `if' `in'
						local decoded 1
					}
					capture drop `dcdd'
				}
				if !`decoded' {
					replace `g' = /*
					*/ `g' + string(`1'`format') + /*
					*/ `"`punct'"'  `if' `in'
				}
			}
			else {
				replace `g' = /*
					*/ `g' + `1' + `"`punct'"' `if' `in'
			}
			mac shift
		}
		replace `g' = trim(substr(`g',1,length(`g') - `plen'))
	}
	local gtype : type `g'
	if "`gtype'" == "str`strlen'" {
		di in gr /*
		*/ "(note: str`strlen' variable created; truncated values possible)"
	}
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -