列差異 - JSL 語法大家好,
如何通過列引用訪問列的內容? 由於我的列名隨著腳本中的每個循環不斷變化,我不能簡單地使用列名來減去。
dt 是我的數據表,有 30 列。 我想用 dt[28]- dt[30] 創建一個新列。
誰能幫我語法?
對此,我真的非常感激。 謝謝。
回复:列差異- JSL 語法此示例說明在 1) 使用 JMP 13 中的表的矩陣表示法或 2) 設置公式時如何使用變量動態定義列。
dt = New Table("Table Subscripting",
New Column("a", Set Values([1 2 3 4 5])),
New Column("b", Set Values([44 22 77 55 99])),
New Column("c", Set Values([59, 58, 57, 56, 55]))
);
startCol = 1;
endCol = N Col(dt);
// New column with the diff between endCol and startCol can be filled
// 1) with static values using matrix notation (JMP 13),
dt << New Column("Delta");
dt[0, endCol + 1] = dt[0, endCol] - dt[0, startCol];
// 2) or by a Column Formula
// (expression must partly be pre-evaluated if variables are used)
F = Eval Expr(Expr(Column(endCol))[] - Expr(Column(startCol))[]);
dt << New Column("Delta2", Formula(Name Expr(F)));回复:列差異- JSL 語法嗨,馬克,
顯然,我不能使用這種語法
dt<< 新列( "增量",
數字,
公式( Column(dt,startcol)- Column(dt,endcol) )
);
startcol= 28(這是在特定列之後派生的)
和 endCol = ncols( dt );
由於我的數據表的列數在每次循環後不斷變化,所以我不能使用數字。 還有別的辦法嗎?
回复:列差異- JSL 語法4 是否自動暗示它是表格的末尾? 由於數據表列不斷變化,我可以使用嗎?
dt[1::nrow(dt), endcol+1] = dt[1::nrow(dt), startcol] - dt[1::nrow(dt), endcol];
其中 endCol = ncols( kdt );和 startcol= 28(這是在特定列之後派生的)
我試圖讓一切都充滿活力。
我認為這行不通。 你對這個梅蘭妮有什麼看法?回复:列差異- JSL 語法此外,如果您運行的是 JMP 13,則可以使用 dt[行,列] 下標到數據表中,並且可以使用範圍 (1::4)。
這是一個簡短的示例,它添加了一個新列並將其值設置為第 3 列 - 第 1 列:
dt = New Table( "Table Subscripting",
New Column( "a", Set Values( [1 2 3 4 5] ) ),
New Column( "b", Set Values( [44 22 77 55 99] ) ),
New Column( "c", Set Values( [59, 58, 57, 56, 55] ) )
);
dt << New Column( "new column" );
dt[1::nrow(dt), 4] = dt[1::nrow(dt), 3] - dt[1::nrow(dt), 1];
回复:列差異- JSL 語法引用列的方法不止一種:
- :姓名
- 列(“名稱”)
- Column(數據表引用,"名稱")
- 列(索引)
- Column(數據表引用,索引)
我懷疑基於 Column() 函數的最後兩種形式對您的情況很有用。