2
A
回答
3
你可以嘗試這樣的事:
/*************************************/.
DATA LIST FREE /v1 v2 v3 v4 v5.
BEGIN DATA
1 2 99 4 5
99 2 3 99 5
1 99 3 4 5
1 2 99 99 5
1 99 99 99 5
99 2 99 99 99
END DATA.
DATASET NAME DS1.
/*************************************/.
/* Solution1: Assumes v1 to v5 can hold any value from 1 to 5 */.
recode v1 to v5 (99,sysmis=sysmis) (else=copy).
do repeat v=v1 to v5.
if (any(v,1,4,5)) Target1=1.
if (any(v,2,3)) Target2=2.
end repeat.
compute TargetA=sum(Target1,Target2).
/* Solution2: Alternative solution which assumes v1 holds values 1 only v2 values 2 only ect... */.
recode v1 to v5 (99,sysmis=sysmis) (else=1).
compute TargetB=sum(any(1,v1,v4,v5)*1, any(1,v2,v3)*2).
exe.
0
如果我理解正確:
- 你的輸入文件中包含5列,每通道1個
- 每個特定通道中填入與通道專用標識符(1-5)
- 當該列爲空時,該通道未被使用/與該觀察無關
- 你想 您要使用的IF語句在SPSS語法
以上答案由JigneshSutar似乎並沒有做到這一點總結在新的領域(NewVar)使用的信道組合。此外,您不需要做重複,循環,而且可以在3線做到這一點(+執行。)語法(使用數據發生器由JigneshSutar答案):
IF (V1 = 1 & V4 = 4 & V5 = 5) NewVar = 1.
IF (V2 = 2 & V3 = 3) NewVar = 2.
IF (V1 = 1 & V2 = 2 & V3 = 3 & V4 = 4 & V5 = 5) NewVar = 3.
EXECUTE.
這句法可以很容易地
IF (MISSING(V1)=0 & MISSING(V4)=0 & MISSING(V5)=0) NewVar = 1.
IF (MISSING(V2)=0 & MISSING(V3)=0) NewVar = 2.
IF (MISSING(V1)=0 & MISSING(V2)=0 & MISSING(V3)=0& MISSING(V4)=0 & MISSING(V5)=0) NewVar = 3.
EXECUTE.
相關問題
- 1. SPSS計算變量
- 2. SPSS:計算宏中多個變量的信息值
- 3. 如何使用特定條件計算SPSS中的變量?
- 4. 計算循環中的總和矢量變量 - spss語法
- 5. 計算跨多個變量的頻率SPSS
- 6. 一個變量的遍歷值來填充另一個變量 - SPSS
- 7. SPSS:如何計算變量中的位數
- 8. 我想用c中的linq來計算列表中每個元素的數量#
- 9. 在一個變量中計算
- 10. 想在ASP中創建一個變量來改變一個值
- 11. 我想計算
- 12. 如何引用SPSS的「計算變量」對話框中的特定行?
- 13. 我想總結使用IF條件在SPSS
- 14. 變量數SPSS
- 15. SPSS:循環多個變量
- 16. SPSS中多個變量的頻率表
- 17. 計算SPSS文件中缺失值的數量(使用memisc)
- 18. 我想用Python替換另一個變量的變量
- 19. 我想在sql命令裏面用多個變量if語句
- 20. SPSS計數取決於幾個變量中的條件
- 21. SPSS循環通過一組變量與if語句組合
- 22. 使用2個其他變量在SPSS中創建一個變量?
- 23. 更好的方法來計算新的變量從複雜的計算多個變量,一些神經網絡
- 24. 計數SPSS使數值變量列表
- 25. 程序來計算一個布爾變量的大小
- 26. 使用一個變量來定義一個遞歸擴展變量,其名稱是從一個簡單的擴展變量中計算出來的
- 27. SPSS - 計算函數以創建滿足多個條件的變量
- 28. if if else中的多個「if」變量
- 29. 計算每個變量的數量,其中每個變量= 1
- 30. 我想在Excel中計算
第一/初始我張貼溶液使得假設VAR1到VAR5可容納*:通過使用缺少的功能進行調整,當信道的列填充有比所述信道標識符[1-5],例如其他值* 1-5之間的任何**值,儘管給出的示例數據可能暗示了其他情況。否則解決方案將是IF邏輯的直接使用。如果數據按照您的假設進行存儲,那麼這是非常糟糕的數據呈現,應該重新編碼,我更新我的帖子以爲此提出解決方案。 – 2015-02-23 11:41:46