중복 열 유지안녕,
나는 2개의 데이터 테이블을 가지고 있고 이 테이블은 테스트 매개변수(동일한 이름을 공유하는 열의 약 30%를 의미)가 테스트 위치에 따라 다르기 때문에 동일하므로 테스트 결과도 다를 수 있는 어느 정도 유사합니다. 업데이트를 사용하여 이 테이블을 결합하고 동시에 두 번째 테이블 열 데이터를 유지하지만 해당 열을 나란히 볼 수 있도록 해당 열의 이름을 자동으로 바꾸려고 합니다. 스크립트를 통해 수행할 수 있습니까?
감사해요.
Re: 중복 열 유지ih & Jim에게 감사드립니다. 정상적인 상황에서는 더 적은 변수로 문제 없이 테이블을 조인할 수 있습니다.
Re: 중복 열 유지Jim의 요점을 확장하려면 일반적인 조인에서와 같이 키 쌍이 없는 것으로 나타나므로 행별로 조인해야 합니다.왜 이런 식으로 테이블을 결합하는지 이해하기 어렵습니다. SN AX0001은 STX0030과 관련이 있지만 STX0031과는 관련이 없습니까?그렇다면 더 의미 있는 방식으로 조인하기 위해 두 테이블에 추가할 수 있는 다른 열이 있을 수 있습니다.
Re: 중복 열 유지요청하신 것은 2개의 데이터 테이블을 조인할 때 JMP에서 수행되는 기본 작업입니다.두 데이터 테이블에 동일한 이름의 열이 있는 경우 JMP는 열의 이름을 바꿉니다.다음은 스크립트 버전이지만 2개의 테이블이 있는 경우 다음과 같이 대화식으로 수행할 수 있습니다.
테이블==>조인
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA\big class.jmp" );
dt2 = Open( "$SAMPLE_DATA\big class Families.jmp" );
Data Table( "big class Families" ) << Join( With( Data Table( "big class" ) ),
By Row Number );
Re: 중복 열 유지감사합니다. 이것이 정확히 내가 원하는 것은 아니지만 아이디어가 있습니다. 첨부파일은 제가 하고싶은것입니다. 2개의 데이터 테이블을 합치고 1번째 데이터 테이블과 일치하는 2번째 데이터 테이블의 컬럼 이름을 자동으로 변경합니다. 죄송합니다. 초기 메시지에서 혼란이 있다면 죄송합니다.
Re: 중복 열 유지정확히 무엇을 하려는지 잘 모르겠지만 예, 스크립트를 사용하여 열의 이름을 바꿀 수 있습니다.각 데이터 테이블을 열고 각각에 대한 별도의 참조를 유지하는 경우 모든 테이블에 메시지를 보내 열 이름을 바꿀 수 있습니다.
Names default to here( 1 );
//Open two tables
dt1 = Open("$SAMPLE_DATA/Iris.jmp"); //first table
dt1 << Set Name( "Table 1" );
dt2 = Open("$SAMPLE_DATA/Iris.jmp"); //second table (different filename)
dt2 << Set Name( "Table 2" );
//Concatenate tables
dtJoined = dt1 << Concatenate( dt2 );
dtJoined << Set Name( "Combined" );
//Change column names
Column( dt1, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dt2, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dtJoined, "Sepal length" ) << Set Name( "Sepal_length" );열 이름을 많이 변경하는 경우 함수를 사용하여 마지막 세 줄을 바꿀 수 있습니다.
//Make a function to change column names in all tables
ChangeAllNames = function({original, new},
Column( dt1, original ) << Set Name( new );
Column( dt2, original ) << Set Name( new );
Column( dtJoined, original ) << Set Name( new );
);
//Then call the function
ChangeAllNames( "Sepal width", "Sepal_width" );
ChangeAllNames( "Petal length", "Petal_Length" );