WRITE 次指令 (CROSSTABS 指令)

使用 WRITE 次指令將儲存格頻率寫入檔案,以供現行程式或其他程式後續使用。 CROSSTABS 也可以使用這些儲存格次數作為輸入,以重新產生表格並計算統計量。 指定 WRITE 時,「輸出檔摘要」表格會顯示在所有其他表格之前。 請參閱 OMS 指令,以取得替代且更靈活的方法,將結果以各種格式寫出至外部檔案。

  • 唯一的規格是單一關鍵字。
  • 必須在 CROSSTABS之前的 PROCEDURE OUTPUT 指令上指定檔案名稱。
  • 如果您在 INCLUDEREPORT 開啟 MISSING時包含遺漏值,則不會將任何值視為遺漏,而且即使指定 CELLS ,也會寫入所有非空白儲存格 (包括具有遺漏值的那些儲存格)。
  • 如果您逐個表格排除遺漏值 (預設值) ,則不會針對包含遺漏值的值組合寫入任何記錄。
  • 如果指定多個表格,則會以表格顯示的相同順序寫入表格。
  • 長字串變數 (定義的寬度大於 8 個位元組) 不支援 WRITE ,如果任何變數是長字串,則會導致錯誤。
  • 超過 8 個維度 (7 個 BY 變數) 的表格不支援 WRITE ,如果表格超過 8 個維度,則會導致錯誤。

. 不將資料格計數寫入檔案。 這是預設值。

資料格. 將非空白及非遺漏資料格的資料格計數寫入檔案。 包含遺漏值的值組合不會寫入檔案。

全部. 將所有資料格的資料格計數寫入檔案。 VARIABLESTABLES 所定義的每一個值組合的記錄會寫入檔案中。 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 所提供的 V3V15 所提供的記錄會最後寫入。