데이터 폴더에서 데이터 결과를 그래픽으로 비교안녕,
저는 JMP를 처음 접하고 다음과 같은 매우 어려운 작업을 자동으로 수행하려고 합니다. 가급적이면 자동화된 JMP 스크립트 또는 전문가가 권장할 수 있는 다른 솔루션을 통해
.
내 데이터:
두 개의 결과 폴더, datafolder1 및 datafolder2가 있습니다. 그들은 기술적으로 동일한 측정이며 설정에 약간의 차이가 있으며 변경 전후에 동일한 측정이 반복됩니다.
각 폴더에는 .txt 테이블 형식의 결과 파일인 여러 .txt 파일이 있습니다. .txt 파일은 각 폴더에 대해 동일한 이름을 가지며 열 이름도 동일합니다. 실제로는 숫자 데이터만 파일마다 조금씩 다릅니다.
내가 원하는 것:
동일한 이름의 .txt를 사용하여 각 열에 대한 결과 datafolder1과 결과 datafolder2의 차이를 그래픽으로 비교하고 결과의 .pdf 출력을 생성하고 싶습니다. .pdf 형식으로 원하는 출력을 생성할 수 있었지만 그래프 빌더로 해당 출력을 얻으려면 8-12시간의 수동 작업이 필요했습니다. 출력 파일은 "wanted_output.pdf"입니다. 이제 나는 다른 많은 유사한 사례를 가지고 있으며 수동으로 이 작업을 수행하는 데 몇 달이 걸릴 것입니다.
데이터 파일은 첨부 파일입니다. [이후 데이터가 제거됨]
미리 감사드립니다. 몇 달 동안 이 문제로 고군분투했습니다. JMP가 이에 대한 간단한 솔루션을 제공하기를 바랍니다.
해석학데이터 테이블제도법스크립팅Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교안녕 txnelson과 이안
매력처럼 작동합니다! 고맙습니다!
datafolder2 변수를 folder1에서 folder2로 변경해야 했습니다.
또한 어떤 이유로 .pdf 인쇄가 제대로 확장되지 않았기 때문에 기본 인쇄 설정 파일=>페이지 설정을 변경해야 했습니다.
문제가 해결되었습니다. 모두에게 도움을 주셔서 감사합니다!
추신. 첫 번째 게시물에서 데이터를 제거해야 했지만 기술적으로 데이터 폴더 유형 전후의 모든 것이 이 스크립트와 함께 작동합니다.
Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교그리고 대안으로 @txnelson 의 접근 방식을 사용하고 원래 아이디어를 따릅니다('하위 폴더 포함' 옵션 사용).
NamesDefaultToHere(1);
// Unzip the example file 'net_data.zip' to your Desktop
// Generated via 'File > Open Multiple..': tabList is a list of 'paired' tables
// that are built automatically according to the commonality of column names
tabList =
Multiple File Import(
<<SET folder=""></SET>
일반적으로 최종 결과의 무결성은 데이터의 규칙성에 대해 가정할 수 있는 것과 가정할 수 없는 것에 따라 달라집니다.
Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교몇 가지를 추측해야 했지만 아래 스크립트는 데이터 테이블 폴더에 있는 각 파일에 대해 별도의 PDF를 만듭니다.그래프 형식을 약간 수정했습니다.그것은 내가 가장 잘 판단할 수 있는 것과 같은 모든 정보를 보여주지만 약간 다른 형태로 보여줍니다.
스크립트에서 폴더 1과 폴더 2의 경로를 입력해야 합니다. 현재 PDF는 $TEMP 디렉토리에 저장되고 있습니다.실제 폴더로 변경해야 합니다.
Names Default To Here( 1 );
// Set folder1 and folder2 paths
folder1 = "path to folder 1";
folder2 = "path to folder 2";
// Get files in datafolder 1 folder
fileNamesList = Files In Directory( folder1 );
For( File = 1, File <= N Items( fileNamesList ), File++,
// Open the file in datafolder1
dt1 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt1 << New Column( "Index", Numeric, "ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt1 << New Column( "Measured", Character, Set Each Value( "Before" ) );
// Open the file in datafolder2
dt2 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt2 << New Column( "Index", Numeric, "Ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt2 << New Column( "Measured", Character, Set Each Value( "After" ) );
// Concatenate tables
// → Data Table( "HW.DiodeTest.ADP_diodes" )
dt1 << Concatenate( dt2, Append to first table );
// Close the After data table
Close( dt2, nosave );
// get all continuous columns in the data table
colNamesList = dt1 << get column names( continuous, string );
theJournal = New Window( fileNamesList[File], <<JOURNAL></JOURNAL>
Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교JMP 커뮤니티에서 비공개 메시지를 보내주실 수 있나요? 이메일을 통해 조금 더 쉽게 도움을 드릴 수 있으며 여기에 최종 솔루션을 게시할 수 있습니다.
Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교빠른 답장을 보내 주셔서 감사합니다.
실제로 이 모든 작업을 수행하려면 JSL이 필요합니다. 다른 여러 경우에 이 작업을 수행하기에는 너무 많은 시간이 소요됩니다.
아키텍처 관점에서 다음 JSL은 운동할 수 있습니다.
1. 두 폴더에서 모든 파일을 가져옵니다.
2. 가입/& 결과를 하나의 파일로 연결하면 JMP는 테이블 이름이 동일할 때(XXXX) 일종의 인덱싱을 자동으로 추가하는 것 같습니다.
3. 열 이름을 알파벳순으로 정렬합니다.
4. 열 1&2를 하나의 플롯으로 플롯하고, 컬럼 3&4를 다음 플롯으로 플롯하고, 컬럼 5&6을 다음 플롯으로 플롯... 남은 열이 없을 때까지 다음 숫자를 반복해서 플롯합니다.
모든 것이 쉽게 들리지만 JSL에 대한 초심자 이해, 각 단계에 대한 팁 및 예제가 있습니까?
Re: 데이터 폴더에서 데이터 결과를 그래픽으로 비교파일 / 여러 파일 가져오기를 사용하면 상당히 쉽게 시작할 수 있습니다. 파일을 가져올 때 기본 설정을 일부 변경해야 합니다(쉼표에서 탭으로 구분 기호 변경).
이 시점부터 데이터 테이블 조인을 시작할 수 있습니다. JSL을 제외하고 이전 단계에서 가져온 데이터 테이블 목록을 반복하는 것을 제외하고 이 작업을 수행할 수 있는 쉬운 방법이 있는지 잘 모르겠습니다.
두 폴더에 대해 이 프로세스를 반복한 다음 데이터 테이블을 함께 연결하고 마지막으로 그래프 빌더를 사용하여 그래프를 생성합니다(그래프를 생성하기 전에 데이터를 스택해야 할 수 있음).