클립보드의 목록에서 열을 선택하는 스크립트후속....여전히 문제입니다.
여기에 붙여 넣을 때 다음과 같은 행 값에서 복사된 문자열 목록을 변환해야 합니다.
Tcea1 Atp6v1h Oprk1 Rb1cc1 Fam150a
스크립트 창에 붙여 넣으면 다음과 같습니다.
Tcea1
Atp6v1h
Oprk1
Rb1cc1
클립보드 내용을 이것으로 변환하려면 코드가 필요합니다.
{Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a}
그리고 이것은 작동하지 않습니다 .... { "Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a"}
하지만 이것은 {"Tcea1", "Atp6v1h", "Oprk1", "Rb1cc1", "Fam150a"}
그래서.... 적절한 출력을 생성하기 위해 Get Clipboard 명령을 어떻게 변경할 수 있습니까?또는 후속 코드 줄에서 ""를 제거하시겠습니까?
당신의 도움을 주셔서 감사합니다.
2021년 6월
다음은 데이터 테이블에서 "Aasdh,Abca2,Abca7,Abcf1,Abi3" 열을 선택하기 위해 훌륭하게 작동하는 내 스크립트(여러분 모두의 도움을 기반으로 합니다!)입니다.
나의 새로운 문제: 내 클립보드에 많은 열 이름 목록이 있을 때 여기 t 스크립트에 표시된 것처럼 열별로 구분된 이름을 입력하거나 이름으로 변환하고 싶지 않습니다.대신 스크립트가 클립보드를 직접 사용하여 데이터 프레임의 열을 선택하기를 원합니다.
클립보드 목록을 스크립트 내에서 직접 "Aasdh,Abca2,Abca7,Abcf1,Abi3...."로 어떻게 변환할 수 있습니까?
감사해요!
스크립트
//with data table where you want to select the columns now open
Names Default To Here( 1 );
dt = currentdatatable();
// Get list of data column names
col_list = dt << Get Column Names( string );
// User specified column names
cc = {Aasdh,Abca2,Abca7,Abcf1,Abi3};
For( i = 1, i <= N Items( cc ), i++,
If( Contains( col_list, Char( cc[i] ) ),
Column( dt, Char( cc[i] ) ) << Set Selected( 1 )
)
);
고급 통계 모델링자동화 및 스크립팅소비자 및 시장 조사콘텐츠 구성데이터 접근실험 설계대량 맞춤화품질 및 프로세스 엔지니어링Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.이것은 더 간단할 수 있습니다.함수라는 단어의 구분 기호로 crlf를 사용합니다.
clipb = get clipboard();
print(clipb);
crlf = hex to char("0D0A");
col_list = words(clipb, crlf);
print(col_list);
Big Class에서 일부 이름을 강조 표시한 다음 코드를 실행했습니다.다음은 로그 창의 출력입니다.
"JOE
MICHAEL
DAVID
JUDY
ELIZABETH
LESLIE
CAROL
PATTY"
{"JOE", "MICHAEL", "DAVID", "JUDY", "ELIZABETH", "LESLIE", "CAROL", "PATTY"}Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.내 이전 답변은 클립보드의 항목에 액세스하는 방법을 보여주기 위한 것입니다.거기에서 필요한 목록을 작성할 수 있다고 가정했습니다.다음은 클립 보드에서 찾은 각 항목을 가져와 "theList"라는 목록에 추가하는 보다 완전한 예입니다.
따라서 클립 보드에 다음을 복사하면

그리고 스크립트를 실행
Names Default To Here( 1 );
myClipboard = Get Clipboard();
theList ={};
i=1;
while( word(i,myClipboard,"\!t\!n\!r" ) != "",
insert into(theList,word(i,myClipboard,"\!t\!n\!r" ));
i++;
);
show(theList);
JMP 목록 "theList"를 생성합니다.
theList = {"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT", "BARBARA", "ALICE"};Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.필요한 형식을 생성하는 Rube Goldberg와 같은 방법을 찾았습니다.나중에 공유하기 위해 완전한 스크립트에 통합하려고 시도할 것입니다.
다음은 클립보드의 목록을 가져와 필요한 형식으로 변환합니다.... 예: {"Tcea1", Atp6v1h", "Oprk1", "Rb1cc1, "Fam150a"}
//here get list from clipboard first . Here the column names are genes
//COPY columns names from a row in JMP or excel into your clipboard
//PART ONE
// New data table
// Data Table( "TempGeneList" )
New Table( "TempGeneList" );
//MANUALLY paste the list of column names you want to select into first column
// Transpose data table so your list become columns
Data Table( "TempGeneList" ) << Transpose(
Label( :Column 1 ),
Output Table( "Transpose of TempGeneList" )
);
//the open table "Transpose of TempGeneList" should have your list as colmun names
Names Default To Here( 1 );
dt2 = Current Data Table();
//get the column names into a form that works
genelist = dt2 << Get Column Names( string );
//Voila
Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.이를 돕기 위한 반복적인 노력에 감사드립니다.그러나 나는 내가 명확하다고 생각하지 않습니다.
Getclipboard가 나에게 이것을 줄 때...
{"Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a"}
이걸로 바꿔야지
{"Tcea1", Atp6v1h", "Oprk1", "Rb1cc1, "Fam150a"} 숫자 값을 문자열로 만들기 때문에 선호합니다.
또는 이것으로
{Tcea1, Atp6v1h, Oprk1, Rb1cc1, Fam150a}
그 변환을 스크립팅하는 간단한 방법이 있습니까 ....?
그러면 6월에 제공한 스크립트가 모든 열을 잘 선택합니다.일반적으로 내 목록에는 100개의 열 레이블이 있으므로 자동화해야 합니다.
감사해요
Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.Get Clipboard()는 클립보드에 있는 모든 항목을 단일 문자열로 반환합니다.반환된 문자열에서 특정 값을 가져오려면 JMP의 다양한 문자 처리 기능을 사용하여 문자열에서 가져와야 합니다.
참고로 기본적으로 JMP는 열 값 사이에 탭 문자를 공백으로 배치했습니다.
Big Class라는 샘플 데이터 테이블을 열고 첫 번째 3개 열(이름, 성별, 나이)의 처음 10개 행을 붙여넣기 버퍼에 복사하면 다음 스크립트는 두 번째 행에 복사된 개인의 이름을 반환합니다. 붙여넣기 버퍼.
Names Default To Here( 1 );
myClipboard = Get Clipboard();
theWord = Word( 4, myclipboard, "\!t\!n\!r" );
Show( theWord );
Word() 함수는 단어 간격을 결정하기 위해 찾아야 할 구분 기호로 Tab, Linefeed 및 Carriage Return을 사용하여 myclipboard 변수에서 n번째 단어를 반환합니다.\!t는 Tab의 인쇄할 수 없는 문자를 나타내는 이스케이프 구조입니다.
이 패턴에서 데이터를 통과하고 필요한 모든 정보를 찾을 수 있어야 합니다.
Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.뒤늦은 ....
내 목록이 JMP 데이터 프레임 또는 Excel의 열에서 클립보드로 복사됩니다.
예를 들어 {columnQ, columnX, columnB} 스크립트에서 변환할 3개의 복사본 문자열, columnQ, columnX, columnB가 있는 클립보드 내용이 필요합니다.
..... 그러나 나열된 모든 솔루션은 시리즈 주변에 ""로 표시되고 스크립트가 실행되지 않습니다.""를 제거하는 방법 ??
감사해요
myClipboard = 클립보드 가져오기();
/*:
"열Q
X 열
열B"
//:*/
myClipboard = 단어(Get Clipboard());
/*:
{"열Q
X 열
열B"}
//:*/
myClipboard = words(Get Clipboard(),);
/*:
{"열Q
X열
열B"}
//:*/
myClipboard = words(Get Clipboard(),",");
/*:
{"열Q
X열
열B"}
Re: 클립보드의 목록에서 열을 선택하는 스크립트입니다.당신이 사용할 수있는
myClipboard = Get Clipboard();
목록을 메모리 변수로 이동하려면.....이 예에서는 "myClipboard"라는 변수를 JSL을 사용하여 원하는 대로 조작합니다.
클립보드에 다음이 포함된 경우
Aasdh,Abca2,Abca7,Abcf1,Abi3
다음을 사용하여 JMP 목록으로 검색할 수 있습니다.
myClipboard = words(Get Clipboard(),",");