列數未知的摘要<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨,
我想創建一個通用數據表中所有列的摘要,其中列數是未知的。
以下是已知數據表的示例。 對於未知數量的列的任何建議?
謝謝,
搶
dt = Open(“$ SAMPLE_DATA / Big Class.JMP”);
dtsum1 = dt << Summary(N(:name),N(:age),N(:sex),N(:height),N(:weight));
Re:未知列數的摘要十分優雅。 謝謝!
Re:未知列數的摘要摘要接受列列表作為參數。所以這個oneliner也有效!
DT = 打開 ( “$ SAMPLE_DATA / Big Class.JMP” ) ;
DT << 摘要 ( ñ ( DT << 獲取列名稱 )) ;
Re:未知列數的摘要兩種解決方案都很有效 謝謝!
Re:未知列數的摘要我建議構建一個表達式,然後插入每個列的引用:
dt = Open(“$ SAMPLE_DATA / Big Class.JMP”);
summaryexpr = Expr的(摘要());
對於(I = 1,I <= NcoI位(DT)中,i ++,
INSERTINTO(summaryexpr,插入(表達式(N()),柱(I)))
);
的eval(替代(表達式(DT <<命令),EXPR(命令),summaryexpr));
除非您在數據表之間切換,否則您可以通過簡單地執行'summaryexpr'而不是將其作為命令添加到'dt'來簡化最後一行。
Re:未知列數的摘要可能有一種更流暢的方式,但在這種情況下我創建動態代碼然後執行它:
DT = 打開 ( “$ SAMPLE_DATA / Big Class.JMP” ) ;
dt_cols = DT << 獲取列名稱 ( 串 ) ;
對於 ( 一世 = 1 ,一世 <= NITEMS ( dt_cols ) ,一世 ++,
如果 ( 一世 == 1 ,
n_expr = “dtsum1 = dt <<摘要(N(:name(\!”“) ||
dt_cols [ 一世 ] || “\!”))“ ;
,
n_expr = n_expr || “,N(:姓名(\!”“) || dt_cols [ 一世 ] || “\!”))“ ;
) ;
) ;
n_expr = n_expr || “)” ;
EVAL ( 解析 ( n_expr )) ;