WRITE 次指令 (CROSSTABS 指令)
使用 WRITE 次指令將儲存格頻率寫入檔案,以供現行程式或其他程式後續使用。 CROSSTABS 也可以使用這些儲存格次數作為輸入,以重新產生表格並計算統計量。 指定 WRITE 時,「輸出檔摘要」表格會顯示在所有其他表格之前。 請參閱 OMS 指令,以取得替代且更靈活的方法,將結果以各種格式寫出至外部檔案。
- 唯一的規格是單一關鍵字。
- 必須在
CROSSTABS之前的PROCEDURE OUTPUT指令上指定檔案名稱。 - 如果您在
INCLUDE或REPORT開啟MISSING時包含遺漏值,則不會將任何值視為遺漏,而且即使指定CELLS,也會寫入所有非空白儲存格 (包括具有遺漏值的那些儲存格)。 - 如果您逐個表格排除遺漏值 (預設值) ,則不會針對包含遺漏值的值組合寫入任何記錄。
- 如果指定多個表格,則會以表格顯示的相同順序寫入表格。
- 長字串變數 (定義的寬度大於 8 個位元組) 不支援
WRITE,如果任何變數是長字串,則會導致錯誤。 - 超過 8 個維度 (7 個 BY 變數) 的表格不支援
WRITE,如果表格超過 8 個維度,則會導致錯誤。
無. 不將資料格計數寫入檔案。 這是預設值。
資料格. 將非空白及非遺漏資料格的資料格計數寫入檔案。 包含遺漏值的值組合不會寫入檔案。
全部. 將所有資料格的資料格計數寫入檔案。 VARIABLES 和 TABLES 所定義的每一個值組合的記錄會寫入檔案中。 ALL 僅在整數模式下可用。
檔案包含每一個資料格的一筆記錄。 每一筆記錄都包含下列:
直欄 1-4. 分割檔案群組號碼,從 1 開始連續編號。 請注意,這不是用來定義分割的一或多個變數值。
直欄 5-8. 表格號碼。 表格由 TABLES 次指令定義。
直欄 9-16. 儲存格頻率。 此變數值組合出現在資料中的次數,如果使用觀察值加權,則為具有此值組合之觀察值的觀察值加權總和。
直欄 17-24. 列變數 的值 (在第一個 BY之前指定的值)。
直欄 25-32. 直欄變數 的值 (以第一個 BY命名)。
第 33-40 欄. 第一個控制變數 (以第二個 BY命名) 的值。
直欄 41-48. 第二個控制變數 的值 (以第三個 BY命名)。
直欄 49-56. 第三個控制變數的值 (以第四個 BY命名)。
直欄 57-64. 第四個控制變數 (以第五個 BY命名) 的值。
直欄 65-72. 第五個控制變數的值 (以第六個 BY命名)。
直欄 73-80. 第六個控制變數的值 (以第七個 BY命名)。
- 分割檔案群組號碼、表格號碼及頻率會寫入為整數。
- 在整數模式中,變數的值也會寫入為整數。 在一般模式中,會根據為每個變數指定的列印格式來寫入值。 在出現的任何欄位的左端會寫入英數值。
- 在每一個表格內,一次從表格的一個直欄寫入記錄,且最後一個控制變數的值變更最緩慢。
範例
PROCEDURE OUTPUT OUTFILE='/data/celldata.txt'.
CROSSTABS VARIABLES=FEAR SEX (1,2)
/TABLES=FEAR BY SEX
/WRITE=ALL.
CROSSTABS會將表格 FEAR (由 SEX ) 中每一個資料格的記錄寫入檔案 celldata.txt。
範例
PROCEDURE OUTPUT OUTFILE='/data/xtabdata.txt'.
CROSSTABS TABLES=V1 TO V3 BY V4 BY V10 TO V15
/WRITE=CELLS.
CROSSTABS會將每一個表格的一組記錄寫入檔案 xtabdata.txt。- 首先寫入表格 V1 by V4 by V10 的記錄,接著寫入 V1 的記錄,然後寫入 V4 的記錄,再寫入 V11,依此類推。 V4 所提供的 V3 及 V15 所提供的記錄會最後寫入。