엑셀에서 특정 데이터 읽기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
저는 JMP 스크립팅을 처음 접했습니다. 따라서 누구든지 이 기본 스크립팅 단계에서 저를 도와주실 수 있다면 정말 감사하겠습니다.
위의 데이터를 다음과 같이 읽고 싶습니다.
Lab A(또는 Lab
에 대한 Test 1(또는 Test 2) 데이터를 읽고 다음 형식으로 예시로 입력합니다.
랩 A 테스트 1의 데이터 = [2, 3, 4, 2, 1]
랩 A 테스트 2의 데이터 = [1, 3, 2, 4, 6]
등등.
데이터(예: 평균, 표준 편차 등)를 분석하기 위해 더 많은 스크립트를 작성할 수 있도록 위의 데이터를 스크립팅 창 자체에 표시할 수 있습니까?
미리 감사드립니다.
Re: 엑셀에서 특정 데이터를 읽어오는 중입니다.따라서 명확하게 말하면 Excel에서 데이터를 가져오는 데 문제가 없습니다. 즉, 이미 JMP 데이터 테이블에 있습니다. 맞나요? 그렇지 않은 경우 마치 데이터베이스인 것처럼 통합 문서에 액세스하고 SQL 쿼리를 사용하여 필요한 데이터 그룹을 격리하는 것이 좋습니다.
데이터가 이미 JMP에 있고 상단과 같이 정렬되어 있다면 왜 Tabulate를 사용하여 각 그룹에 대해 원하는 결과를 얻을 수 있습니까?
Re: 엑셀에서 특정 데이터를 읽어오는 중입니다.이는 결코 모범 사례가 아닙니다. 일반적으로 더 많은 파일에 이것을 사용하면 견고성에 의문이 생길 수 있습니다.
이 작업을 두 번 이상 반복해야 한다면 "Jump into jmp scripting"이라는 책을 한 권 구해 보세요. 대부분의 학술 도서관에는 이러한 기능이 있습니다.
그렇지 않으면 이것을 시도하십시오.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
// 데이터 소스 정의
dt = 현재 데이터 테이블 () ;
//모든 테스트가 하나의 열에 있도록 데이터를 쌓습니다.
dtstack = dt << 스택 (
기둥 ( : 테스트 1 , : 테스트 2 ) , // 여기에 모든 테스트 열을 추가합니다.
소스 라벨 열 ( "상표" ) ,
누적 데이터 열 ( "데이터" )
) ;
// Lab의 고유 값을 가져옵니다.
실험실 = 연관 배열 ( dtstack : 랩 ) << 열쇠를 얻으세요 ;
// 테스트를 위한 고유한 값을 얻습니다.
시험 = 연관 배열 ( dtstack : 상표 ) << 열쇠를 얻으세요 ;
// 결과 테이블 정의
dt1 = 새 테이블 ( "결과" ,
새 열 ( "랩" , 성격 , 명사 같은 ) ,
새 열 ( "시험" , 성격 , 명사 같은 ) ,
새 열 ( "평균" ) ,
새 열 ( "SD" ) ,
) ;
// 스택 데이터 테이블의 실험실 및 테스트를 반복하여 결과를 추출합니다.
을 위한 ( 나 = 1 , 나 <= N개 품목 ( 실험실 ) , 나 ++,
을 위한 ( 그것 = 1 , 그것 <= N개 품목 ( 시험 ) , 그것 ++,
실험실 행 = dtstack << 어디에서 행을 가져오나요? ( 그리고 ( dtstack : 랩 == 실험실 [ 나 ] , dtstack : 상표 == 시험 [ 그것 ] ) ) ;
dt1 << 행 추가 ( 1 ) ;
dt1 : 랩 [ N 행 ( dt1 )] = 실험실 [ 나 ] ;
dt1 : 시험 [ N 행 ( dt1 )] = 시험 [ 그것 ] ;
dt1 : 평균 [ N 행 ( dt1 )] = 평균실험실1 = 평균 ( dtstack : 데이터 [ 실험실 행 ] ) ;
dt1 : SD [ N 행 ( dt1 )] = SDlabtest1 = 표준 개발 ( dtstack : 데이터 [ 실험실 행 ] ) ;
)
) ;
// 결과 테이블을 닫고 엑셀로 저장
닫다 ( dt1 , 구하다 ( "D:\내 문서\results.xlsx" ) ) ;
Re: 엑셀에서 특정 데이터를 읽어오는 중입니다.안녕하세요 론,
매우 감사합니다. 그것은 바로 내가 찾던 것입니다.
한 가지 더 질문이 있습니다. 랩 A/랩 B와 테스트 1/테스트 2 모두에 대한 결과를 계산하는 루프를 만들 수 있습니까? Matlab에서는 쉽게 할 수 있지만 앞서 말했듯이 저는 아직 JMP에서 스크립트 작성하는 법을 배우고 있습니다. 그리고 가능하다면 최종 결과를 엑셀로 저장하거나 내보내는 것도 좋을 것 같습니다.
도움을 주셔서 다시 한번 감사드립니다.
Re: 엑셀에서 특정 데이터를 읽어오는 중입니다.안녕 라잔비스타1 ,
Jim의 말이 맞습니다. jmp에 내장된 플랫폼을 사용하여 결과를 생성하는 것이 훨씬 좋습니다.
그렇지 않으면 이것은 또 다른 옵션입니다.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
dt = 현재 데이터 테이블 () ;
// 선택보다 더 강력함
labArows = dt << 어디에서 행을 가져오나요? ( dt : 랩 == "ㅏ" ) ;
실험실눈썹 = dt << 어디에서 행을 가져오나요? ( dt : 랩 == "비" ) ;
보여주다 ( labArows , 실험실눈썹 ) ;
// 각 테스트에 대해 실험실 A의 값을 가져옵니다.
랩 A 테스트 1의 데이터 = : 테스트 1 [ labArows ] ;
랩 A 테스트 2의 데이터 = : 테스트 2 [ labArows ] ;
보여주다 ( 랩 A 테스트 2의 데이터 , 랩 A 테스트 1의 데이터 ) ;
// 원하는 값을 추출하고 나중에 사용할 이름을 지정합니다.
MeanlabAtest1 = 평균 ( 랩 A 테스트 1의 데이터 ) ;
SDlabAtest1 = 표준 개발 ( 랩 A 테스트 1의 데이터 ) ;
MeanlabAtest2 = 평균 ( 랩 A 테스트 2의 데이터 ) ;
SDlabAtest2 = 표준 개발 ( 랩 A 테스트 2의 데이터 ) ;
// 로그에 숫자를 표시하기 위한 것입니다.
보여주다 ( MeanlabAtest1 , SDlabAtest1 , MeanlabAtest2 , SDlabAtest2 ) ;
Re: 엑셀에서 특정 데이터를 읽어오는 중입니다.다음은 데이터 테이블을 가져와 질문에 지정한 2개의 변수를 생성하는 스크립트입니다.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
dt = 현재 데이터 테이블 () ;
dt << 어디를 선택하세요 ( : 랩 == "ㅏ" ) ;
랩 A 테스트 1의 데이터 = : 테스트 1[dt << 선택한 행 가져오기 ] ;
랩 A 테스트 2의 데이터 = : 테스트 2[dt << 선택한 행 가져오기 ] ;
보여주다 ( 랩 A 테스트 1의 데이터 , 랩 A 테스트 2에 대한 데이터) ;
제가 궁금한 점은 위의 데이터를 스크립트 창에 넣는 것에 대한 귀하의 질문입니다.그걸 가지고 어디로 가는지 모르겠어요?R이나 Python에서 하는 것처럼 JMP에서도 스크립트를 작성할 수 있지만 JMP에서 대부분의 분석을 수행하는 것은 대화형 항목을 사용하는 것보다 훨씬 간단합니다.평균, 표준 편차 등과 같은 데이터를 분석할 수 있도록 데이터를 스크립트에 넣고 싶다고 언급하셨습니다. 분석할 열을 지정하는 Tabulate 또는 Distribution 플랫폼을 사용하여 그러한 결과를 얻는 것이 당신이 원하는 것처럼 보입니다. 정말 해야 합니다.

