JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출Analyze > Fit Y by X를 실행합니다. 데이터 테이블을 여는 아래 코드가 있지만 테이블에 RSquare 값이 없습니다. 내가 놓친 것이 무엇인지 아십니까?
// Open Data Table
dt = Data Table( "Raw Data" );
// Run Fit Y by X Analysis with a By Variable
fitObj = dt << Fit Y by X( Y( :"Mean(VALUEABS)" ), X( :Mean ), By( :PARM_LABEL ) );
// Get the analysis report
rpt = fitObj << Get Report;
// Find all RSquare nodes in the report
rsquareNodes = rpt << Find All Matching Elements( "RSquare" );
Show( "Number of RSquare nodes found: " || Char( N Items( rsquareNodes ) ) );
// Initialize a list to store the by group and RSquare pairs
rsquareData = {};
// Loop over each RSquare node found
For( i = 1, i <= N Items( rsquareNodes ), i++,
{
// Extract the RSquare text and convert to numeric value
rsqText = rsquareNodes[i] << Get Text ; rsqVal = Num( rsqText ) ;
// Try to retrieve the by-group label.
parentObj = rsquareNodes[i] << Get Parent ; byLabel = "" ;
While( byLabel == "" & parentObj != {},
byLabel = parentObj << Get Text;
If( byLabel == "",
parentObj = parentObj << Get Parent
);
) ;
// Append the pair (by group label, RSquare value) to list.
Append( rsquareData, {byLabel, rsqVal} ) ; }
);
Show( rsquareData );
// Create a new data table to store the RSquare values by by-group.
rsqDT = New Table( "RSquare Values",
Add Columns(
Column( "By Group", Character, "Nominal" ),
Column( "RSquare", Numeric, "Continuous" )
)
);
// Populate the new data table with the extracted values
For( i = 1, i <= N Items( rsquareData ), i++,
{New Row( rsqDT ) ; rsqDT:("By Group")[Row()] = rsquareData[i][1] ; rsqDT:RSquare[
Row()] = rsquareData[i][2] ; }
);
// Display the new data table
Show( rsqDT );
(위의 JSL은 일반 텍스트 표시에서 JMP JSL 표시 형식으로 이동됨) txnelson
자동화 및 스크립팅Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출어떤 RSquare를 찾고 계신가요? 일반적으로 JMP에서 수동으로 이 작업을 수행한 다음 JMP에서 생성한 스크립트를 가져옵니다(또는 워크플로를 사용하여 해당 스크립트에서 가져옵니다). 따라서 이 경우:
1. 테이블을 엽니다
2. 분석 실행

3. 필요에 따라 보고서/분석을 변경합니다(I 라인에 맞음)

4. 테이블에서 데이터 테이블로 만들기

5. 스크립트 가져오기
// Open Data Table: Big Class.jmp
// → Data Table("Big Class")
Open("$SAMPLE_DATA/Big Class.jmp");
// Combine similar TableBoxes into a Data Table
// → Data Table("Untitled")
Local({obj},
obj = Data Table("Big Class") << Bivariate(
Y(:height),
X(:weight),
Fit Line({Line Color({230, 159, 0})}),
By(:age)
);
Report(obj[1])["Linear Fit", "Summary of Fit", Table Box(1)] <<
Make Combined Data Table;
obj[1] << Close Window;
);
그런 다음 그것을 수정하여 조금 더 좋게 만들고 다음과 같은 결과를 얻을 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(
Y(:height),
X(:weight),
Fit Line({Line Color({230, 159, 0})}),
By(:age)
);
dt_result = Report(biv[1])["Linear Fit", "Summary of Fit", Table Box(1)] << Make Combined Data Table;
dt_result << Select Where(:Column 1 != "RSquare") << delete rows << clear select;Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출귀하의 구문에는 여러 가지 문제가 있었습니다. 아래는 제가 문제에 접근하는 방법의 예입니다.
// Open Data Table
dt = Data Table( "Raw Data" );
// Run Fit Y by X Analysis with a By Variable
fitObj = dt << Fit Y by X( Y( :"Mean(VALUEABS)" ), X( :Mean ), By( :PARM_LABEL ) );
dt=current data table();
fitObj = dt << Bivariate(
Y( :height ),
X( :weight ),
Fit Line( {Line Color( {212, 73, 88} )} ),
By( :sex )
);
nrpts = nitems(fitObj);
report(fitobj[1])[OutlineBox(1)] << get title
// Find all RSquare nodes in the report
Show( "Number of RSquare nodes found: " || Char( nrpts ) );
rsquareData = {};
// Initialize a list to store the by group and RSquare pairs
For Each( {obj}, fitObj,
r2=report(obj);
rsq = (r2["Linear Fit","Summary of Fit",numbercolbox(1)]<<GET></GET>Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출초기 코드는 확실히 AI가 생성한 것처럼 보이므로 구문에 많은 실수가 있는 것으로 설명됩니다.
Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출답변 감사합니다. 저는 RSquare 값을 찾고 있습니다. Fit Y By X 분석을 실행하고 로그에서 코드를 가져왔습니다. 그런 다음 fit 라인을 추가했지만 해당 작업이 기록되지 않았습니다. 꽤 오래되어서 마우스 오른쪽 클릭과 데이터 테이블로 만들기 기능을 잊고 있었습니다. 그래서 그것에 대해 다시 알려주셔서 감사합니다.
Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출짐, 이 해결책에 감사합니다. 정말 고맙습니다.
Re: JMP 18.1.2 Fit Y by X 분석에서 RSquare 값 추출당신이 옳습니다! 이전에 말했듯이 오른쪽 클릭 데이터 테이블로 만들기 옵션을 잊고 ChatGPT에 의지했습니다.