2012-12-18 74 views
1

我在使用圖形用戶界面重新編寫SPSS中的缺失值。 我可以很容易地重新編碼使用GUI和對話框的數值變量如下所示:無法使用GUI在SPSS中爲字符串變量賦值缺失值

enter image description here

但是,當我輸入一個字符串變量到同一個對話框來定義新的價值選擇爲「系統缺失「不可用:

enter image description here

當然,這樣一個簡單的問題可以不使用語法編輯器來解決?

進出口使用SPSS版本19

+2

如果不使用語法編輯器來做這種東西真的是一個非常糟糕的主意。你打算告訴你的客戶/老師他們對你的結果有懷疑嗎?如果你不小心弄亂了你的數據,你會再次點擊鼠標嗎?只需使用'Paste'而不是'Ok',並保存所有使用的語法可能會爲您節省很多麻煩。 – RubenGeert

回答

3

這是因爲系統缺失值僅爲數值變量定義。您可以定義字符串的用戶缺失值。例如,重新編碼一些未使用的字符串值,如"99999",並將值"99999"設置爲用戶後來丟失的值。

IBM SPSS統計19命令語法參考,第55頁:對於字符串變量不能產生

系統缺失值,因爲任何字符是一個合法的字符串值。

+0

這樣做:)你知道我是否可以一次性將所有字符串變量分配給用戶 - 或者我必須一個接一個地完成? (仍然假設我只使用GUI)。 –

+1

請使用這樣的任務語法@ReneBern,一個簡單的命令,比如'missing missing all(「missing string」)'修改文件中的所有變量或'缺少值V1到V3(「缺少字符串」)'來指定變量在數據集的特定範圍內。 –

0

我有同樣的問題。我發現在該教程的答案:

http://libguides.library.kent.edu/content_mobile.php?pid=481510&sid=4120229

在「自動重新編碼」

「其實,這是獲得SPSS識別缺失值字符串變量的唯一途徑,否則,SPSS認爲空白字符串作爲有效值「

請按照上述鏈接獲取說明。謝謝

+0

給出一個參考很好,但如果你至少總結了一些步驟,這會更好。 – woot

0

在代碼中可以完成。執行以下操作(以地址字段爲例): - 使用「自動重新編碼」生成一個新的臨時變量,其中舊變量的缺失值將很容易識別。轉到「變換\自動重新編碼」,雙擊文本變量(地址),放入新名稱(Addr_Temp),然後單擊「添加新名稱」。標記「將空白字符串值視爲用戶缺失」框並單擊確定。 在代碼:

AUTORECODE VARIABLES=Address 
    /INTO Addr_Temp 
    /BLANK=MISSING 
    /PRINT. 

**也許,缺少的將是最後(最高值),我不知道,但它很容易證明。現在,假設這個值是94,這意味着在你的數據中有93個絕對不同的地址有效值,第四個是空白的(想象一下在93個醫院的城市裏出生的本地人的數據)。 93個不同的醫院地址,以及一些外國人的空白)。注意特殊字符,也許最後的代碼不會是空白字段...首先檢查輸出窗口中的recode列表。 - 編纂回丟失的值作爲一個知道和不尋常的代碼,例如9999FFFF(或其他不可能的街道地址,在我們的地址爲例),如下圖:

RECODE Addr_Temp (94='9999FFFF') INTO Address. 
EXECUTE. 

不幸的是這不會在圖形界面的工作,只是語法,至少在我的SPSS版本中(你可以試試你的,只是做正常的記錄)。它沒有接受現有的變量

現在,您在文本字段中具有值「9999FFFF」,而不是空白值,並且可以用作希望(包括手動重新編碼)。只要記住在創建最終變量時重新編碼這個數據缺失,或在「自動記錄」一個。

0

的Try ...

RECODE OldStringVar ("Missing" = ""). 

或者......

DO IF OldStringVar = "". 
RECODE OldStringVar (ELSE = COPY) INTO NewStringVar. 
END IF. 

或者這種方法的變化。