2011-03-19 23 views
-1

嘆息。我有這個神話般的數據集有近15000個有效的案例。只有一個問題。我的網絡調查被配置爲自動爲每個Likert變量傳遞唯一的數值。而且,因爲調查分支了多次,所以我最終得到了超過一百個標量變量,如下所示:我可以全球修復SPSS中的值/標籤對嗎

SampleLikertVariable。數字。 10355 =「非常不贊同。」 10356 =「有點不同意。」 10357 =「中立」。 10358 =「有點同意」。 10359 =「非常同意。」

不幸的是,每個變量都有一個不同的數字範圍與刻度的五個點相關聯。在結合變量之前,我需要將數據恢復到1,2,3,4,5。理想情況下,我想保持標籤完好無損,儘管如果我失去了它們並不是世界末日。該過程需要通過語法腳本實現自動化。

到目前爲止,我能想到的做到這一點的唯一方法是塊IF語句,如這些:

IF (MISSING(ywNfMotivationsPvp)=1) ywNfMotivationsPvp=0. 
IF ywNfMotivationsPvp=10277 ywNfMotivationsPvp=1. 
IF ywNfMotivationsPvp=10278 ywNfMotivationsPvp=2. 
IF ywNfMotivationsPvp=10279 ywNfMotivationsPvp=3. 
IF ywNfMotivationsPvp=10280 ywNfMotivationsPvp=4. 
IF ywNfMotivationsPvp=10281 ywNfMotivationsPvp=5. 

但我們談論的數百個變量,將需要得到這個相同的排序的治療。有一個更好的方法。

我認爲創建一個基本的FOR循環可以減少一些重複,但這仍然需要我手動記下每個變量編號的唯一起始編號。我曾考慮將變量名稱和唯一起始號碼存儲在配對數組中,但在挖掘文檔並確定如何在SPSS語法中執行此操作之前,我想我會問一個簡單的問題:

是否存在更好或更簡單的方式做到這一點?

+0

SPSS可能是這些論壇上相對較小的領域,這可能是您爲什麼沒有得到很多答案的原因。如果您嘗試刪除儘可能多的輔助材料(並清理措辭 - 「迄今爲止」,「可悲地」,「只有一個問題」,「感嘆」等等),這也會有所幫助。閱讀整個事情。)你的標題看起來相當不錯。 – agf 2011-10-03 02:35:01

+0

感謝您的建議,agf。我理解刪除輔助材料的原因,但這只是我溝通的一部分。再次,我欣賞反饋。 – 2011-10-03 02:57:26

回答

0

我想我已經想通過「AUTO RECODE \ INTO」來做到這一點。它不是完全無痛的,但比我上面描述的更平滑。

0

好的解決方案。這也可以通過計算ALL的最小值或V1到v99或類似的東西來完成,並從每個變量中減去。 DO REPEAT會在這裏工作。 AGGREGATE或OMS可以幫助您批量執行此操作。

有一點需要注意autorecode:如果任何問題沒有答案,有一個特定的值,它會崩潰,更高的價值下移。你可以通過製表自動重新編碼之後列出所有變量的最大值來檢查。

+0

謝謝你的建議,約翰。關於autorecode的警告也很有幫助,因爲我不知道它會以這種方式崩潰數據。現在你提到它,這是完全合理的。 – 2011-03-21 14:39:05

相關問題