就像圖片一樣將多列轉換為一列。我需要這張桌子的幫助。
我正在嘗試旋轉桌子的一部分。
該表有大約 300 列和 30 行。
我想保持第 12 到 30 行與第 11 列相同。
並旋轉其餘的列(從 12 到末尾),使它們就像圖片一樣。
我認為解決方案是:從 12 到 30 的每一行將有 288 列。
請參閱圖片了解我想要的想法。
如果您可以發送代碼,那就太好了。
第一張圖片顯示了實際的表。
第二張圖片顯示了我想要的解決方案。


回复:將多列轉換為一列,就像圖片一樣。這是一個適用於您提供的示例數據表的腳本。順便說一句,如果附上數據表的副本會更方便,而不必手動創建它。除此之外,我相信只要前 11 列保持靜態、數據從第 3 行開始,並且第 11 列之後的所有列都被視為要處理的列,腳本就會工作。
names default to here(1);
dt=current data table();
// Find the number of columns to process
numberOfMeasurements = N Cols(dt) - 11;
// Add the 3 new columns to place the measurements into
dt << Add Multiple Columns( "Rotated", 3,After(:column 11), Character );
// Add in the number of empty rows required for all of the rotations
For(i=N Rows(dt),i>=3, i--,
dt << Add Rows( numberOfMeasurements - 1, after(i) );
);
// Move the data into the required new cells
For( theRow = 3, theRow <= N Rows(dt), theRow = theRow + numberOfMeasurements,
For( theCol = 12 + 3, theCol <= N Cols(dt), theCol++,
:Rotated 1[theRow + theCol-12-3] = column(theCol)[1];
:Rotated 2[theRow + theCol-12-3] = column(theCol)[2];
:Rotated 3[theRow + theCol-12-3] =
column(theCol)[theRow];
)
);
使用的所有函數都記錄在腳本索引中
幫助==>腳本索引
最後,我假設您是 JMP 新手,因此我提供此腳本是為了說明 JMP JSL 幾乎可以執行您需要執行的任何操作。社區論壇不是要求個人為您編寫代碼的地方。該小組的目的是幫助遇到問題的 JMP 用戶。假設提出問題的成員是來學習 JMP 的,以便他們在未來成為更熟練和更獨立的 JMP 用戶。
回复:將多列轉換為一列,就像圖片一樣。
這是實際的文件,你能解釋一下我怎樣才能拆分錶格並再次鏈接它們嗎?
回复:將多列轉換為一列,就像圖片一樣。首先,您的原始數據表不適合 JMP 表的結構。JMP 不是電子表格。它是一個基於分析列的數據表。JMP 統計和圖形平台採用分析數據表形式。因此,嘗試在數據表中轉置列和行時,您將無法使用
表格==>轉置
平台。
此外,您將無法直接使用許多 JSL 數學函數,因為為了讓表格按照您擁有的方式構建,所有列以及所有單個單元格都將是數據類型字符,而不是數字。如果第 12 行及之後的數據位於 JMP 數據表中,使用起來會很簡單
表==>拆分
將數據更改為您想要的形式。
但即便如此,您也可以編寫一段 JSL,將數據表中的子區域轉換為新格式。JMP 數據表可以被引用為逐列矩陣,並且可以編寫一個程序,從數據表(“1911-15 V1 500”)[5,14] 中獲取值並將該值放入任何其他所需的行/列單元格。這可以放入 For() 循環結構中,使代碼更複雜,但關鍵是,在我看來,必須編寫一段 JSL 來進行轉換。