堆疊多列,並在新列中新增重複值大家好
我有一組原始數據,第一行作為樣本/位置,下一行顯示與特定迭代相對應的值。

我想更改這些數據,堆疊值並建立分別顯示樣本/位置的新列。
這就是我想要的:對每個值重複迭代/採樣/位置。

或者,我想要這個;如果分離樣本/位置很困難:

我嘗試從 UI 中找到一種使用匯總表的方法,但似乎沒有任何效果。
附加 Excel 資料檔。
自動化和腳本基礎資料分析與建模資料混合與清理數據探索與視覺化視窗回覆:堆疊多列,並在新列中新增重複值堆疊數據

使用“第一個單字”(和“最後一個單字”)快速公式並稍加修改即可建立新列

修改 Last Word 以使用“-”代替預設值“ ”

您也可以添加修剪空格來稍微清理最後一個單字
Trim Whitespace(Word(-1, :Label, "-"))

這是您要找的嗎? (此外,為了將來,我建議以 JMP 表的形式共享您的數據,以避免 Excel 文件可能產生的各種問題)
回覆:堆疊多列,並在新列中新增重複值要修改數據,您也可以查看 Recode 平台( 使用 JMP > 輸入和編輯資料 > 重組資料 > 在列中重新編碼資料)。在某些情況下,你也可以使用“文字到列”

當然,如果需要的話,你可以將它與 Recode 結合使用。 JMP 還可以為您編寫整個過程的腳本,可以作為工作流程或增強日誌中的腳本
回覆:堆疊多列,並在新列中新增重複值準備一些數據:
//prepare:
Names Default to Here(1);
dt0 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt = dt0 << Split(
Split By( :age, :sex ),
Split( :height ),
Remaining Columns( Drop All )
);
dt << new column ("sample", set each value(row()));
現在,讓我們來堆疊它:

- use Eliminate missing rows( 1 ) to get rid of empty entries
- 使用文字到列來拆分2個分組變數:

如果你更喜歡 JSL:
// create stacked table
stacked = dt <<
Stack(
columns(
:"12 F"n, :"12 M"n, :"13 F"n, :"13 M"n, :"14 F"n, :"14 M"n, :"15 F"n,
:"15 M"n, :"16 F"n, :"16 M"n, :"17 F"n, :"17 M"n
),
Stack By Row( 0 ),
Eliminate missing rows( 1 )
);
stacked << Text to Columns( columns( :Label ), Delimiters( " " ) );