다 변수의 열 이름을 가져올 수 없습니다.안녕하세요,
나는 프로세스를 자동화하려고 노력하고있다. 시작 부분의 개요는 다음과 같습니다.
-표로 만들다
- 테이블 만들기
모든 연속 열에서 다 변수 실행 - 상관 행렬을 얻을 수 있습니다.
나는 달리 다 변수 부분에 고투하고있다. 나는 거기에 원하는 컬럼을 넣는 방법을 모르겠습니다. 이것은 열 이름을 알고이 부분에 붙이는 경우 작동합니다.
다 변수 (
와이 ( 여기에 열 이름 ) ,
하지만 열 이름을 알 수 없으므로 수용 할 수있는 목록 변수 또는 뭔가를 넣고 싶습니다. 어떤 도움을 주셔서 감사합니다!
여기 모든 것이 있습니다 :
dt = data table("wpu10");
tab1= dt<<TABULATE></TABULATE>
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.너는 아주 가까웠다.
Names Default To Here( 1 );
dt = Data Table( "wpu10" );
tab1 = dt << Tabulate(
Add Table( Column Table( Grouping Columns( :series_id, :series_title ), Analysis Columns( :value ) ), Row Table( Grouping Columns( :year ) ) )
);
dtTab1 = tab1 << makeintodatatable;
dtTab1 << set name( "dtTab1" );
// Get Column names returns a list
colnameslist = dtTab1 << get column names( Continuous, string );
Multivariate(
Y( Eval List( colnameslist ) ),
Estimation Method( "Pairwise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( Density Ellipses( 1 ), Shaded Ellipses( 0 ), Ellipse Color( 3 ) )
);
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.Y () 인수는 이름 (문자열)이 아닌 하나 또는 열 참조를 필요로합니다. 작동시키기위한 또 다른 방법은 다음과 같습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
col name = dt << Get Column Names( "Continuous" );
col expr = Expr( Y() );
For( i = 1, i <= N Items( col name ), i++,
Insert Into( col expr, Column( col name[i] ) );
);
Eval(
Substitute(
Expr(
Multivariate(
yyy,
Estimation Method( "Pairwise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( Density Ellipses( 1 ), Shaded Ellipses( 0 ), Ellipse Color( 3 ) )
);
),
Expr( yyy ),
Name Expr( col expr )
)
);Re : 다중 변수에서 열 이름을 가져올 수 없습니다.도움을 주셔서 감사합니다.하지만 여전히 문제가있는 것 같습니다. 나는 그것이 도움이 될 경우를 대비해 내 기록에서 꺼냈다.
"합계 (값, WPU106, PPI 금속 및 금속 제품에 대한 PPI 상품 데이터 - 계절 조정되지 않은 난방 장비)",
"합계 (가치, WPU107, PPI 금속 및 금속 제품에 대한 PPI 상품 데이터 - 계절적으로 조정되지 않은 구조화 금속 제품)",
역할에는 적어도 1 개의 열이 있어야합니다.}
), 다 변수 (/ * ### * / Y (평가 목록 (colnameslist)),
추정 방법 ( "쌍으로"),
행렬 형식 ( "Square"),Re : 다중 변수에서 열 이름을 가져올 수 없습니다.나는 당신의 solutino를 적응 시키려고 노력했다. 그러나 cannt '는 나에게 다변량 산출을주기 위해 그것을 얻는다.
문제는 컬럼 이름을 모른다는 것입니다. 나는 "dtTab1 = tab1 << makeintodatatable;"을 수행 한 후에 이름을 얻는 방법이 필요하다.
어쩌면 당신의 코드는 나를 보여 주지만 여전히 어떻게 보는지 고심하고있을 것입니다. yyy가있는 열 이름이 필요하거나 그 이름을 가질 수있는 확실한 이름이 필요합니까?
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.이 오류가 어떻게 관련되어 있는지 알 수 없습니다. Y 역할에서 테이블 레이블을 다변량의 열 이름으로 사용하려고합니까?
지금은 스크립트를 잊어 버리십시오. 대화식으로 결과를 얻을 수 있습니까? 즉, 대화식으로 Tabulate를 사용하여 요약을 가져오고 결과를 새 데이터 테이블에 저장 한 다음 다변량을 시작 하시겠습니까?
"Sum (... ) "는 특별한 처리없이 Eval List () 호출에서 열 참조 대신 함수 호출로 해석됩니다.
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.당신이 겪고있는 문제는 테이블 테이블에서 테이블을 만들 때 생성되는 복잡한 이름입니다. 아래 스크립트에서 Tabulate for Summary 플랫폼을 교체했습니다. 이는 복잡한 이름 문제를 제거하지는 않지만 하나의 빠른 동작으로 데이터 테이블을 생성합니다. 대부분의 경우 테이블 출력과 동일합니다. 복잡한 이름을 처리하기 위해 스크립트가 수행하는 것은 열 이름 목록의 각 요소 주위에 : Name () 함수이며, 함수의 내용을 열 이름으로 처리하기 위해 JMP에 직접 지정합니다. 마지막으로이 목록은 다변량 플랫폼으로 전달되어 분석을 수행합니다.
Names Default To Here( 1 );
dt = Data Table( "wpu10" );
/*tab1 = dt << Tabulate(
Add Table( Column Table( Grouping Columns( :series_id, :series_title ), Analysis Columns( :value) ), Row Table( Grouping Columns( :year) ) )
);
dtTab1 = tab1 << makeintodatatable;
dtTab1 << set name( "dtTab1" );*/
// Create the data table directly
dtTab1 = dt << Summary(
Group( :year ),
Sum( :value ),
Subgroup( :series_id, :series_title ),
Freq( "None" ),
Weight( "None" )
);
// Get Column names returns a list
colnameslist = dtTab1 << get column names( Continuous,string);
// Get rid of the Row Number column from the list
colnameslist = remove( colnameslist, 2, 1 );
// Create a new list adding the :Name() function around each column name
// to handle the complex names the summary gave them
thelist={};
For( i = 1, i <= N Items( colnameslist ), i++,
xx = colnameslist[i];
Insert Into( thelist, Parse( Eval Insert( ":Name(\!"^xx^\!")" ) ) );
);
// Run the correlations
dtTab1 << Multivariate(
Y( eval(thelist) ),
Estimation Method( "Pairwise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( Density Ellipses( 1 ), Shaded Ellipses( 0 ), Ellipse Color( 3 ) )
);
또 응원하겠습니다 @markbailey 대화식으로 분석을 수행 할 수 있다는 의견에 이것이 분석이 아니라면 반복해서 할 것인데 왜 스크립트 작성을 귀찮게합니까?
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.당신의 도움을 주셔서 대단히 감사합니다! 나는 모든 점을 끝내고 클릭했다. 오늘 아침에 마지막 메시지를 따르려고했지만 여전히 약간 잃어 버렸습니다. 열 이름은 문제가 될 수 있습니다. 또한 수동으로 수행하고 dtTab1 테이블에 도달하면 분석> 다변량 방법> 다변량 JMP로 이동하여 dt 테이블에 수행하려고한다고 생각합니다. JMP가 새 테이블에서 수행하고 싶지 않다는 것을 JMP가 깨닫는 두 번째 과정이 될 때까지는 아닙니다.
JMP 12를 사용하고 있으므로 문제가 발생하는지 알 수 없습니다.
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.데이터 테이블 샘플을 공유 할 수 있습니까?
Re : 다중 변수에서 열 이름을 가져올 수 없습니다.예, 내가 첨부 한 것은 당신이 도와 준 코드에 매달린 테이블입니다. 이 테이블 (dtTab1)에서 분석> 다변량 방법> 다변량 출력에서 생성 된 것과 같은 상관 계수 테이블로 이동하고 싶습니다.
내가 언급했듯이 수동으로 약간의 펑키를 수행하는 단계를 이어받습니다. dtTab1이 생성 된 후 위에서 설명한 단계를 처음 수행 할 때 다변량 분석을 수행 할 열에 대한 프롬프트는 inintial 테이블 (한 열의 모든 인덱스와 다른 열의 이름)에 있습니다. 당신이 하나를 원한다면 kwno를 보자)