新列命令中的公式<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨,
我經常收到SPSS格式的數據。 當我將數據導入JMP時,我維護SPSS名稱。 JMP創建一個名為“SPSS Name”的新列屬性,並使用這些名稱作為列名。 我的目標是根據“SPSS名稱”更改列名稱,添加一個新列,其中包含新列名但在名稱中添加了一個字符,然後為此新列添加了一個公式。 例如,假設我使用Big Class表。 我為每個列添加了一個新屬性,並將其命名為“SPSS Name”。 然後,我將每個SPSS名稱設置為“Q1”,“Q2”,...,“Q5”,這與原始SPSS文件名稱的行相似。 我創建了以下腳本,它查找SPSS名稱“Q4”(對應於Big Class中的高度列),將列名更改為“New Height”,並添加一個名為“New Height - B”的新列。 這部分工作正常。 我無法工作的是公式部分。 新列應該有一個公式,其值基於重命名的高度列;也就是說,基於“新高度”。 當我查看新列時,我看到的只是缺少值代碼。 公式屬性具有正確的公式,除了使用“x”而不是“New Height”,正如我所料。 我怎樣才能讓最後一部分工作?有什麼建議?
dt =當前數據表();
for(i = 1,i <= N Col(dt),i ++,
col =列(i);
匹配(col <<獲取屬性(“SPSS NAME”),
“第四季度”,
x =“新高度”;
col << Set Name(x);
新列(x ||“ - B”,數字,連續,
寬度(5),公式(如果(列(x)> 60,1,0))
)
);
);
dt << Run Formulas;
謝謝,
Walt Paczkowski
Re:新列命令中的公式替換命令可能是一個棘手的,需要一段時間才能掌握。
我像你一樣在高度列下創建了'Q4'的SPSS屬性。
dt =當前數據表();
對於(i = 1,i <= NCol(dt),i ++,
col =列(i);
匹配(col <<獲取屬性(“SPSS NAME”),
“第四季度”,
newcoln = col << get name || “ - B”;
newcol = dt << NewColumn(newcoln);
//替換值而不是引用
的eval(替代(
Expr(newcol <<設定公式(If(_xvar> 60,1,0))),
Expr(_xvar),Parse(col <<獲取名稱))
);
);
);