문자 데이터 유형에 대해 JSL을 사용하여 구성 파일에서 열 이름 업데이트안녕하세요,
이것은 내가 어제 게시 한 이전 관련 질문에 대한 후속 조치입니다. 다른 구성 파일의 단위를 갖도록 열 이름을 업데이트하는 방법을 묻고 싶습니다. 아래는 어제 게시물에서 채택한 솔루션 코드입니다. 단 이변 량 대신 로지스틱 플롯을 플롯하도록 수정했습니다. 나는 이것이 이변 량 플롯에서 잘 작동한다는 것을 알았지 만 로지스틱 플롯을 플롯하려고 할 때 단위를 y 축 레이블의 일부로 볼 수 없습니다. 단위가 제목의 일부라도 괜찮을 것입니다.
// This version of the script used Transform variables
// to temporarially change the name of the column just
// for the running of the Bivariate
Names Default To Here( 1 );
dt = open( "table_1.jmp" );
dt1 = open( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1
:additional_name != ""
);
If( N Rows( foundRow ) > 0,
column( dt, i ) << set property("units", eval(dt1:additional_name[foundRow[1]]));
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
dt << Logistic( Y( Column( i ) ), X( :id ) )
);데이터 테이블이 첨부됩니다.
감사,
Simon
스크립팅Re : 문자 데이터 유형에 대해 JSL을 사용하여 구성 파일에서 열 이름 업데이트분명히 물류 플랫폼은 (단위)의 자동 처리를 지원하지 않습니다.그러나 아래 스크립트가이를 처리합니다.

Names Default To Here( 1 );
dt = Data Table( "table_1.jmp" );
dt1 = Data Table( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name !=
""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
|| Char( Column( i ) << get property( "units" ) ) || ")"
)
;
);Re : 문자 데이터 유형에 대해 JSL을 사용하여 구성 파일에서 열 이름 업데이트안녕 Jim,
스크립트를 실행했는데 다음과 같은 오류가 발생했습니다.
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
/*:
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
감사,
Simon
Re : 문자 데이터 유형에 대해 JSL을 사용하여 구성 파일에서 열 이름 업데이트오류없이 JMP 11까지 코드를 실행했습니다.눈치 채면 게시 한 코드 줄 중 하나에 / * ### * /가 있습니다.그것을 제거하고 코드를 다시 실행하십시오.다음은 내가 사용한 코드입니다.데이터 테이블이 열려 있다는 가정하에 데이터 테이블을 참조하도록 코드를 변경했습니다.어떤 버전의 JMP를 사용하고 있습니까?
여기에 기본 이름 (1); dt = 데이터 테이블 ( "table_1.jmp"); dt1 = 데이터 테이블 ( "config_table.jmp"); For (i = 1, i <= N Cols (dt), i ++, foundRow = dt1 << get rows where (: Column_name == Column (dt, i) << get name & dt1 : additional_name! = ""); If (N Rows (foundRow)> 0, Column (dt, i) << set property ( "units", Eval (dt1 : additional_name [foundRow [1]])));); For (i = 2, i <= N Cols (dt), i ++, log = dt << Logistic (Y (Column (i)), X (: id)); Report (log) [AxisBox (1)] [ 텍스트 상자 (1)] << set text (Char (Report (log) [AxisBox (1)] [Text Box (1)] << get text) || "("|| Char (Column / * ### * / (i) << get property ( "units")) || ")"););Re : 문자 데이터 유형에 대해 JSL을 사용하여 구성 파일에서 열 이름 업데이트JMP12를 사용하고 있습니다. 코드를있는 그대로 실행하면 같은 오류가 다시 발생합니다.
아래 선을 제거하면 레이블에 단위가없는 첨부 된 그래프가 표시됩니다.
// Char (Column / * ### * / (i) << get property ( "units")) || ")"
어떤 아이디어?
Names Default To Here( 1 );
dt = data table( "table_1.jmp" );
dt1 = data table( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
//Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);