亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? recode.ado

?? 是一個經(jīng)濟學管理應用軟件 很難找的 但是經(jīng)濟學學生又必須用到
?? ADO
字號:
*! version 3.4.8  24may2004
program define recode
	version 8

// first parse into (1) -vlist- (2) -vrules- (3) if/in (4) options

	#del ;
	syntax  anything(equalok name=vrules id="varlist (rule)..")
	        [if] [in]
	[,
		COPYrest
		DEBUG 		// undocumented
		Generate(str)
		INto(str)       // synonym for generate()
		Label(str)
		PREfix(str)
		Test
	] ;
	#del cr
// spec syntax 1: varname rule [rule]   ...
// spec syntax 2: varlist (rule) (rule) ...
	gettoken tok1 tmp : vrules , parse("(")
	gettoken tok2 : tmp, parse("(")
	if `"`tok1'"' == "(" {
		error 102
	}

	if trim(`"`tok2'"') == "(" {
		// syntax 1: tok1 is varlist, tmp is a list of parenthesized rules
		unab vlist : `tok1'
		local nvlist : word count `vlist'
		local rules `"`tmp'"'
		local parens = 1
	}
	else {
		gettoken vn rules : vrules
		unab vlist  : `vn', max(1)
		local nvlist = 1
		local parens = 0
	}

	capture confirm string var `vlist'
	if _rc==0 {
		Error 108 "recode only allows numeric variables"
	}

	if `"`rules'"' == "" {
		Error 198 "rules expected"
	}

// check the options

	marksample touse, novarlist
	if `"`prefix'"' != "" {
		if `"`generate'`into'"' != "" {
			Error 198 "option prefix() may not be combined with generate() or into()"
		}
		GenerateVar `"`prefix'"' `"`vlist'"'
		local generate `r(pvlist)'
	}
	else {
		if `"`generate'"' != ""  &  `"`into'"' != "" {
			Error 198 "options generate() and into() are synonyms"
		}
		if `"`into'"' != "" {
			local generate `"`into'"'
			local into
		}
		if `"`generate'"' != "" {
			confirm new var `generate'
			local nnew : word count `generate'
			if `nvlist' != `nnew' {
				Error 198 "the number of new and transformed varnames should be the same"
			}
		}
	}

	// labeldisallowed
	//   0  value labels ok
	//   1  not allowed; multiple vars require label()
	//   2  not allowed; input vars overwritten
	//   3  not allowed; impossible to create label() named after variable

	if `"`label'"' != "" {
		if "`generate'" == "" {
			Error 198 "option label() only allowed with generate()"
		}
		confirm name `label'
		local labeldisallowed = 0
	}
	else if "`generate'" != "" {
		if `nvlist' == 1 {
			// does a value label named `generate' already exist
			capture label dir `generate'
			if _rc {
				local label `generate'
				local labeldisallowed = 0
			}
			else {
				local labeldisallowed = 3
			}
		}
		else {
			local labaldisallowed = 1
		}
	}
	else {
		local labeldisallowed = 2
	}

	local Qtest = "`test'" != ""

// Rules are stored in a series of macros
//
//	lhs[i]		from value or from-range
//	rhs[i]		index to to-values
//	rrhs[j]		to-value for j-th rule
//	vlabel[j]	value label associated with j-th to-value

	tokenize `"`rules'"', parse(" ()/=")
	if `parens' {
		mac shift
	}

	local i = 0
	local j = 1
	local nolhs = 1
	local vlabeled = 0

	tempname statcode
	scalar `statcode' = 0

 	while !inlist(`"`1'"', "", "*", "else") & ///
 	  `"`1'"' != substr("missing", 1, max(3,length(`"`1'"'))) & ///
 	  `"`1'"' != substr("nonmissing", 1, max(4,length(`"`1'"'))) {

		if `"`1'"' == "=" {

			// get rrhs = "to-value" [value-label]

			if `nolhs' {
				Error 198 `"transformation rule without "condition" part"'
			}
			mac shift
			GetEl  `"`1'"'  `statcode'
			local rrhs`j' `r(s1)'
			mac shift

			if `parens' {
				if `"`1'"' != ")" & `"`2'"' == ")" {
					LabelOk `labeldisallowed' `"`rrhs`j''"'
					local vlabeled 1
					local vlabel`j' `"`1'"'
					mac shift
				}
				CheckParens `"`1'"' `"`2'"'
				mac shift 2
			}

			local nolhs 1
			local ++j
		}
		else {

			// condition parts of rules

			local ++i
			local rhs`i' `j'
			GetEl  `"`1'"'  `statcode'
			if `"`2'"' == "/" {
				local vlow `r(s1)'
				mac shift 2

				GetEl  `"`1'"'  `statcode'
				local vhigh `r(s1)'

				// notes: - we use delayed substitution of -vn-
				//        - special rules are defined for floats
				local flhs`i' "float(\`vn') >= float(`vlow') & float(\`vn') <= float(`vhigh')"
				local  lhs`i' "\`vn' >= `vlow' & \`vn' <= `vhigh'"
			}
			else {
				local flhs`i' "float(\`vn')==float(`r(s1)')"
				local  lhs`i' "\`vn'==`r(s1)'"
			}
			local nolhs = 0
			mac shift
		}
	}
	if `nolhs' == 0 {
		error 198
	}
	local nlhs = `i'
	local nrhs = `j'- 1

// parse the "otherwise" rules
//
//	{ * | else } = #
//	[missing = #]  [nonmissing = #]

	while `"`1'"' != "" {
		local key `1'
		if `"`key'"' == "*" {
			local key else
		}
 		else if `"`key'"' == substr("missing",1,max(3,length(`"`key'"'))) {
 			local key missing
 		}
 		else if `"`key'"' == substr("nonmissing",1,max(4,length(`"`key'"'))) {
 			local key nonmissing
 		}
 		if !inlist(`"`key'"', "else", "missing", "nonmissing") {
			Error 198 `"unknown keyword `key'"'
		}
		if `"`rrhs_`key''"' != "" {
			Error 198 `"multiple specification of keyword `key'"'
		}
		if `"`2'"' != "=" {
			Error 198 `"= expected"'
		}

		GetEl `"`3'"'  `statcode'
		local rrhs_`key' `r(s1)'
		mac shift 3

		if `parens' {
			if `"`1'"' != ")" & `"`2'"' == ")" {
				LabelOk `labeldisallowed' `"`rrhs_`key''"'
				local vlabeled 1
				local vlabel_`key' `"`1'"'
				mac shift
			}
			CheckParens `"`1'"' `"`2'"'
			mac shift 2
		}
	}

	if `"`rrhs_else'"' != "" & `"`rrhs_missing'`rrhs_nonmissing'"' != "" {
		Error 198 "keywords else/* and missing/nonmissing may not be combined"
	}

// display rules

	if "`debug'" != "" {
		local vn  varname

		di _n as txt "There are `nlhs' lhs rules:"
		forvalues i = 1 / `nlhs' {
			di as txt "  `lhs`i'' -> RULE `rhs`i''"
		}
		di _n as txt "There are `nrhs' rhs rules:"
		forvalues j = 1 / `nrhs' {
			di as txt "    RULE `j':  `rrhs`j''  `vlabel`j''"
		}

 		di _n as txt `"      else: `rrhs_else'  `vlabel_else'"'
 		di    as txt `"   missing: `rrhs_missing'  `vlabel_missing'"'
 		di    as txt `"nonmissing: `rrhs_nonmissing'  `vlabel_nonmissing'"'
	}

// apply the transformation rules

	quietly {
		tempvar OTHERWISE

		local iv = 0
		local overwrite

		foreach vn of local vlist {
			local ++iv

			tempvar NEW`iv'
			gen double `NEW`iv'' = `vn' if `touse'

			capt drop `OTHERWISE'
			gen byte `OTHERWISE' = cond(`touse'==1,1,.)

			local vntype`iv' : type `vn'

			// determine if the -floatrules- should be used
			local float
			if !inlist("`vntype`iv''", "double", "long") {
				local float f
			}

			if `statcode' == 1 {
				// the rules reference r(min), r(max), r(mean)
				summ `vn' if `touse', meanonly
			}
			else if `statcode' == 2 {
				// the rules reference r(Var), r(sd)
				summ `vn' if `touse'
			}
			else if `statcode' == 3 {
				// the rules reference r(skewness), r(median) etc
				summ `vn' if `touse', detail
			}

			// beware: ensure that r() is not overwritten
			// before end of transformation

			forvalues i = 1 / `nlhs' {
				replace `NEW`iv'' = `rrhs`rhs`i''' ///
					if `OTHERWISE'==1 & ``float'lhs`i''

				if `Qtest' {
					// Qcount replaces -count-: does not destroy r()
					// do rules overlap?
					Qcount N : `"`OTHERWISE'==0 & ``float'lhs`i''"'
					if `N' > 0 {
						local overwrite = 1
						local used`i'   = 1
					}
					else {
						// does rule ever apply?
						Qcount N : `"`OTHERWISE'==1 & ``float'lhs`i''"'
						if `N' > 0 {
							local used`i' = 1
						}
					}

				}
				replace `OTHERWISE' = 0 if `OTHERWISE'==1 & ``float'lhs`i''
			}

			// we do not verify whether OTHERWISE rules trigger
			// unused OTHERWISE rules not produce warning
			if "`rrhs_else'" != "" {
				replace `NEW`iv'' = `rrhs_else'  if `OTHERWISE'==1
			}
			if "`rrhs_missing'" != "" {
				replace `NEW`iv'' = `rrhs_missing' ///
					if `OTHERWISE'==1 & missing(`vn')
			}
			if "`rrhs_nonmissing'" != "" {
				replace `NEW`iv'' = `rrhs_nonmissing' ///
					if `OTHERWISE'==1 & !missing(`vn')
			}
			// -- transformation complete

			if "`float'" != "" {
				count if `touse' & (float(`vn') != float(`NEW`iv''))
			}
			else {
				count if `touse' & ((`vn') != (`NEW`iv''))
			}
			local nchanges`iv' = r(N)

			if "`copyrest'" != "" | "`generate'" == "" {
				replace `NEW`iv'' = `vn' if `touse'==0
			}
		}
	} /* quietly */


// report on transformations

	local iv = 0
	foreach vn of local vlist {
		local ++iv
		if `"`generate'"' == "" {
			di as txt "(`vn': `nchanges`iv'' changes made)"
		}
		else {
			local gv : word `iv' of `generate'
			di as txt "(`nchanges`iv'' differences between `vn' and `gv')"
		}
	}

	if `Qtest' {
		if "`overwrite'" != "" {
			di as txt `"(transformation rules "overlapped")"'
		}
		forvalues i = 1/`nlhs' {
			if "`used`i''" == "" {
				di as txt "(one or more transformation rules did not match any values)"
				continue, break
			}
		}
	}

// now make changes final

	nobreak quietly {
		if `vlabeled' {
			forvalues j = 1/ `nrhs' {
				if `"`vlabel`j''"' != "" {
					label def `label' `rrhs`j'' `"`vlabel`j''"', modify
				}
			}
			foreach key in else missing nonmissing {
				if `"`vlabel_`key''"' != "" {
					label def `label' `rrhs_`key'' `"`vlabel_`key''"', modify
				}
			}
		}

		if "`generate'" != "" {
			local iv = 0
			foreach vn of local vlist {
				local ++iv
				local g : word `iv' of `generate'
				gen `g' = `NEW`iv''
				recast `vntype`iv'' `g'

				// set varlabel (truncation if too long is automatic)
				local vlab : variable label `vn'
				if `"`vlab'"' != "" {
					local vlab `" (`vlab')"'
				}
				label var `g' `"RECODE of `vn'`vlab'"'

				if `vlabeled' {
					label value `g' `label'
				}
			}
		}
		else {
			local iv 0
			foreach vn of local vlist {
				local ++iv
				replace `vn' = `NEW`iv''
				// should varlabel be changed ?
			}
		}
	}
end


/* GetEl value statcode

   returns in r(s1)
     -statname-      if value is the name of a supported statistic
     value           if value is a valid missing value code
     value           if it is a valid number
   otherwise
     displays an error message

   GetEl increases statcode to the highest "level of summarize"
   needed to obtain all requested statistics.
     statcode = 0    none
     statcode = 1    summ, meanonly
*/
program define GetEl, rclass
	args v statcode

	capt confirm number `v'
	if !_rc {
		return local s1 `v'
		exit
	}
	else if `"`v'"' == "." {
		return local s1 "."
	}
	else if length(`"`v'"')==2  &  `"`v'"' >= ".a" & `"`v'"' <= ".z"{
		return local s1 `v'
	}
	else if inlist(`"`v'"', "max", "min") {
		return local s1 "r(`v')"
		scalar `statcode' = max(`statcode',1)
	}
	else {
		di as err `"unknown el `v' in rule"'
		exit 198
	}
end


/* Error nr txt
   displays error message txt and exit with nr
*/
program define Error
	args nr txt

	dis as err `"{p}`txt'{p_end}"'
	exit `nr'
end


program define LabelOk
	args labeldisallowed value

	if `labeldisallowed' == 1 {
		local msg Rules defining value labels not allowed{break}with ///
		          labeled recode of multiple vars, option label() required
		Error 198 `"`msg'"'
	}
	if `labeldisallowed' == 2 {
		Error 198 "Rules defining value labels not allowed when overwriting a variable"
	}
	if `labeldisallowed' == 3 {
		Error 198 "impossible to create label() named after variable"
	}
	if `value' == . {
		Error 198 "Value label not allowed for missing value code ."
	}
	if `value' != int(`value') {
		Error 198 "Value label not allowed for noninteger `value'"
	}
end


/* CheckParens tok1 tok2
   checks that tok1=")"   and   tok2="(" or ""
*/
program define CheckParens
	args tok1 tok2

	if `"`tok1'"' != ")" {
		Error 198 `") expected, "`tok1'" found"'
	}
	if !inlist(`"`tok2'"', "", "(") {
		Error 198 `"( expected, "`tok2'" found"'
	}
end


/* GenerateVar prefix vlist

   Checks whether prefixing the string -prefix- to the names in vlist
   yields valid new variable names.  The new var names are returned
   in the macro r(pvlist).
*/
program define GenerateVar, rclass
	args prefix vlist

	foreach v of local vlist {
		capt confirm name `prefix'`v'
		if _rc {
			Error 198 `"`prefix'`v' invalid variable name"'
		}
		capt confirm new var `prefix'`v'
		if _rc {
			Error 110 "variable `prefix'`v' already exists"
		}
		local pvlist `pvlist' `prefix'`v'
	}
	return local pvlist `pvlist'
end


/* Qcount N : `"exp"'
   Replacement of -count- that does not destroy r()
*/
program define Qcount
	args N colon exp

	tempvar x
	gen `x' = sum(`exp')
	local n = `x'[_N]

	c_local `N' `n'
end
exit

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线观| 国产露脸91国语对白| 日本欧美一区二区在线观看| 国产精品系列在线观看| 欧美精品欧美精品系列| 中文字幕一区免费在线观看| 青青草原综合久久大伊人精品 | 欧美高清视频www夜色资源网| 久久久国产精华| 亚洲chinese男男1069| 成人综合在线观看| 日韩色在线观看| 五月激情综合色| 91亚洲国产成人精品一区二区三| 2021中文字幕一区亚洲| 午夜精品免费在线| 欧美伊人久久大香线蕉综合69| 欧美激情一区二区三区蜜桃视频| 精品一区二区三区蜜桃| 欧美精品第1页| 五月激情六月综合| 欧美日韩高清影院| 亚洲国产一区二区视频| 色婷婷av一区二区三区之一色屋| 国产精品久久久久aaaa樱花| 福利91精品一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 久久国产视频网| 欧美成人a视频| 久久99精品久久只有精品| 日韩欧美色电影| 国产自产视频一区二区三区 | 日本伦理一区二区| 亚洲欧洲在线观看av| 北条麻妃一区二区三区| 国产精品久久久久影院色老大| 成人午夜视频在线| 国产精品女主播在线观看| 成人午夜看片网址| 亚洲色图丝袜美腿| 欧美网站一区二区| 天天综合网天天综合色| 日韩视频免费观看高清在线视频| 看片的网站亚洲| 久久久久免费观看| 成人在线一区二区三区| 中文字幕一区二区三区在线不卡 | 久久99精品国产.久久久久| 欧美成人福利视频| 成人黄页毛片网站| 亚洲乱码日产精品bd| 欧美日韩精品一区二区三区蜜桃| 美女看a上一区| 国产亚洲精品福利| 一本久久精品一区二区| 一区二区三区精品视频在线| 欧美二区三区91| 国产成人在线观看免费网站| 国产精品久久一卡二卡| 欧美性一二三区| 韩国三级在线一区| 亚洲视频小说图片| 日韩亚洲欧美中文三级| 欧美精品 国产精品| 紧缚捆绑精品一区二区| 亚洲视频精选在线| 91丨九色丨国产丨porny| 欧美高清在线一区二区| 在线看国产一区二区| 欧美aaaaaa午夜精品| 国产精品久久毛片| 欧美唯美清纯偷拍| 91在线porny国产在线看| 国产999精品久久| 国产精品一卡二卡在线观看| 国产精品一二三区在线| 国产一区中文字幕| 国产成人av自拍| 成人午夜av电影| 不卡欧美aaaaa| 99久久综合精品| 99久久99久久综合| 一本色道综合亚洲| 欧美喷水一区二区| 91精品蜜臀在线一区尤物| 欧美日韩一区二区三区视频| 欧美日韩不卡在线| 日韩欧美一区二区久久婷婷| 日韩精品专区在线影院观看| 久久综合久久99| 欧美激情在线观看视频免费| 欧美国产精品一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 亚洲欧美影音先锋| 亚洲乱码国产乱码精品精小说| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美成人精品福利| 国产亚洲一二三区| 中文字幕亚洲不卡| 亚洲国产成人91porn| 日韩成人精品视频| 国产综合久久久久久鬼色| 成人精品免费看| 91香蕉国产在线观看软件| 欧美午夜一区二区三区| 日韩欧美亚洲另类制服综合在线| 久久精品免费在线观看| 亚洲精选一二三| 美女久久久精品| 国产91在线看| 欧美日韩久久一区二区| 久久久久久久精| 亚洲午夜久久久久久久久电影院 | 在线观看免费成人| 精品国一区二区三区| 国产精品久久久久久久久果冻传媒| 一色屋精品亚洲香蕉网站| 日韩国产欧美在线播放| 成人深夜福利app| 欧美三级在线播放| 国产亚洲va综合人人澡精品| 一区二区三区日韩欧美| 国产专区欧美精品| 欧美日精品一区视频| 久久久久亚洲蜜桃| 亚洲成人av电影| 成人sese在线| 欧美一区二区私人影院日本| 国产精品不卡在线| 美国欧美日韩国产在线播放| 91丝袜国产在线播放| 日韩欧美国产电影| 亚洲一区影音先锋| 不卡一区二区在线| 精品久久久久一区二区国产| 亚洲免费观看高清| 国产成人午夜99999| 欧美一区二区在线不卡| 一级日本不卡的影视| 国产高清一区日本| 欧美福利视频导航| 亚洲激情网站免费观看| 国产99精品视频| 精品理论电影在线| 日日夜夜一区二区| 色婷婷精品大在线视频| 中文字幕不卡在线| 黄网站免费久久| 欧美一区二区三区在线看| 夜夜精品视频一区二区| 91论坛在线播放| 国产精品久久看| 成人综合婷婷国产精品久久| 精品盗摄一区二区三区| 日韩成人免费电影| 欧美高清视频在线高清观看mv色露露十八| 亚洲欧美日韩一区| 99国产精品久久久久久久久久久| 欧美韩日一区二区三区四区| 久久成人免费网站| 日韩视频123| 老司机精品视频在线| 这里只有精品视频在线观看| 性做久久久久久久久| 欧美午夜在线观看| 五月天亚洲精品| 91精品婷婷国产综合久久| 亚洲成av人影院| 91精品在线麻豆| 日本一区中文字幕| 欧美一区二区播放| 麻豆精品在线播放| 2020国产精品久久精品美国| 国产一区二区三区在线看麻豆| 欧美大片日本大片免费观看| 捆绑紧缚一区二区三区视频| 2020国产精品| 成人一区二区三区在线观看| 最新日韩在线视频| 欧日韩精品视频| 亚洲不卡在线观看| 欧美成人aa大片| 成人免费观看av| 一区二区三区中文字幕在线观看| 色综合久久66| 香蕉影视欧美成人| 精品国产一区二区三区久久影院| 国内精品免费**视频| 国产精品网友自拍| 色综合 综合色| 五月综合激情婷婷六月色窝| 日韩视频在线你懂得| 国产最新精品精品你懂的| 国产精品丝袜在线| 欧美午夜电影一区| 久久精品国产久精国产爱| 久久久国产精品午夜一区ai换脸| 91原创在线视频| 日韩av中文字幕一区二区| 一区二区免费在线|