以一個例如當我們有一系列10個分類變量var1, var2,..., var10
我們創建從這些變量的每5個虛擬變量,其值爲從1至5。SPSS的功能類似於Stata中的雙/複合引號嗎?
的。例如,從var1
我們生成dumvar1_1,..., dumvar1_5
。如果原始變量具有虛擬順序的對應值,虛擬機將接收值1。那就是,dumvar1_1 = 1 if var1 = 1
;否則爲dumvar1_1 = 0
。同樣,dumvar1_2 = 1 if var1 = 2
; dumvar1_2 = 0
否則。與其他假人一樣。
如果我在Stata做什麼,我會做這樣的:
forvalues i = 1(1)10 {
forvalues j = 1(1)5 {
generate dumvar`i'_`j' = 0
replace dumvar`i'_`j' = 1 if var`i' == `j'
}
}
有沒有辦法做同樣的SPSS?
簡單地說,就Stata而言,你所引用的並不是雙複合詞或(所用術語)複合雙引號。它們是左引用和右引號,用於取消引用或評估本地宏。我不是SPSS的用戶,但我懷疑你的問題對於大多數SPSS用戶程序員來說是很有意義的,即使他們也知道Stata,如果你只是發佈一個關於雙循環的問題,那麼這個問題對別人來說會更有用創建指標變量。順便說一句,在Stata中,你可以將內部語句壓縮爲'generate dum \'i'_'''''''''''''''''' –
感謝您澄清這個術語。虛擬/指標變量的創建是我打算做的一半。另一半是基於原始變量以相當有效的方式賦值(如Stata所做的那樣)。由於歷史原因,我正在開發的這個項目繼承了SPSS和Stata,所以我認爲這可能對那些在多個平臺上工作的人有幫助。 – NonSleeper