반복 t-검정의 p-값으로 요약 테이블 생성하나의 참조 그룹과 비교한 쌍별 t-검정에 대한 평균 및 p-값의 요약/피벗 테이블을 자동으로 생성하는 스크립트를 찾고 있습니다. JMP 17을 사용하고 있습니다.
아래 데이터 테이블에는 해당 행에 참조인 SubjectID가 있는지 여부를 나타내는 SubjectId, 측정된 BMI, 측정된 VO2max, 연도 및 참조에 대한 열이 있습니다.

저는 평균을 사용하여 수동으로(아래와 같이) 요약 테이블을 생성한 다음 단측 t-검정에 대한 p-값을 수동으로 채웠습니다.

특히 비참조 SubjectID가 참조 SubjectID보다 BMI 또는 VO2max가 더 높은지 여부를 확인하기 위해 각 SubjectID와 참조 사이의 t-test의 일방적 p-값 결과에 관심이 있습니다. 지금까지 저는 통합 t-검정을 수동으로 수행하고 제가 만든 요약 테이블에 p-값과 평균을 보고했습니다. 고유한 SubjectID 목록을 반복하고 JSL을 사용하여 설명된 방식으로 수행된 이러한 통계로 요약 테이블을 생성하는 방법이 있습니까? 또한 요약 통계를 추가하는 일반화된 방법(예: 각 분석의 각 SubjectID에 대해 N)이 도움이 될 것입니다.
자동화 및 스크립팅기본 데이터 분석 및 모델링Re: 반복 t-검정의 p-값으로 요약 테이블 생성기본 테이블의 값과 보고서 테이블의 새 디스플레이에 대해 무엇을 하고 있는지 알 수 없습니다. 데이터를 변환하기 위해 수행하는 단계를 자세히 설명하세요.
Re: 반복 t-검정의 p-값으로 요약 테이블 생성안녕하세요 @LinkageBee996 님,
@txnelson 의 의견에 동의합니다. 기본 데이터 테이블에서 수동으로 생성하는 테이블로 어떻게 이동하는지 이해하기 어렵습니다. 데이터 테이블을 다시 정렬하고 다르게 구성하는 것이 목적에 더 적합할 수 있습니다. 이를 위해서는 데이터를 분할하거나 현재 구조와 다르게 데이터를 결합해야 할 수도 있습니다.
이렇게 언급하는 이유는 때때로 BY 그룹 변수를 사용하여 분석을 수행할 수 있으며, 보고서 테이블을 마우스 오른쪽 버튼으로 클릭하고 결합된 데이터 테이블 만들기를 선택하면 더 큰 데이터 테이블에서 분석 결과를 쉽게 얻을 수 있기 때문입니다. Big Class.jmp 샘플 데이터를 사용하고 :sex를 x축으로, :height를 Y로 사용하여 ANOVA Fit Y by X를 수행하여 이것이 효과가 있는지 확인할 수 있습니다(만드는 방법을 더 잘 확인하기 위해). 결합된 데이터 테이블이 작동하려면 :age를 BY 변수로 사용하세요. t-테스트를 수행한 다음 관심 있는 통계 테이블을 마우스 오른쪽 버튼으로 클릭하고 결합된 데이터 테이블 만들기를 선택합니다.
t-검정과 Oneway Anova의 평균에 대해 이 작업을 수행하면 해당 데이터 테이블을 조인하여 t-검정의 p-값과 함께 각 그룹의 평균값을 얻을 수 있습니다. 결국에는 다음과 같이 보일 것입니다. 이는 여러분이 추구하는 것과 일치할 수 있습니다.

물론, 생성된 스크립트를 항상 데이터 테이블에 저장하여 모든 것을 단일 작업 스크립트로 통합할 수 있습니다. 또는 Workflow Builder 레코더를 사용하면 스크립트를 작성할 수 있습니다. 여기를 참조하세요.
도움이 되었기를 바랍니다,
DS
Re: 반복 t-검정의 p-값으로 요약 테이블 생성안녕하세요 @txnelson 및 @SDF1 님 , 요청을 명확히 하고 범위에 좀 더 집중할 수 있기를 바랍니다. 저는 @LinkageBee996 과 함께 일하고 있어서 그가 저에게 설명을 도와달라고 요청했습니다.
현재 작업 흐름은 다음과 같습니다.
1) @LinkageBee996 이 공유한 데이터 테이블부터 시작합니다. 단순화하기 위해 연도 열을 무시하고 BMI에만 초점을 맞추겠습니다.
2) '아니요'로 표시된 각 대상 ID를 참조용으로 '예'로 표시된 대상 ID(A1454)를 비교하는 간단한 2-표본 t-검정을 수행하여 총 5번의 비교를 수행합니다. 우리가 이 작업을 수행하는 이유와 Dunnetts 테스트와 같은 작업을 수행하는 이유). 현재 우리는 'Fit Y by X' 아래의 편도 플랫폼에서 로컬 데이터 필터를 사용하여 이 작업을 하나씩 수행합니다.
3) 현재 t-검정 결과(p-값 등)는 빈 파일(CSV 또는 JMP 테이블)에 수동으로 기록됩니다. 한 번에 하나의 테스트를 수행하기 때문에 '데이터 테이블로 만들기'를 사용하는 것은 비교 가능한 만큼의 데이터 테이블이 생기고 단일 데이터 테이블로 결합해야 하므로 실용적이지 않습니다.
우리는 테스트할 수 있는 새로운 주제 ID에 대한 미래의 증거가 되는 분석의 이 부분을 자동화하고 싶으므로 스크립트는 (어떤 순서로든 가장 적합한 순서로) 다음을 수행해야 합니다. 이것이 Python과 다른 소프트웨어에서 유사한 분석을 수행하는 것에서 내 머리 속에 이해되는 것입니다.
1. '비참조' ID 목록을 만듭니다.
2. 각 비참조 ID에 대해 참조용으로 '예'로 표시된 주제 ID와 비교하는 단방향 분석 및 2-표본 t-테스트를 수행합니다(항상 다음 중 정확히 하나가 있다고 가정합니다). 이것들)
3. t-테스트 결과를 데이터 테이블에 저장합니다. 여기서 한 가지 참고 사항: '데이터 테이블로 만들기' 및 '결합된 데이터 테이블 만들기'의 기본 형식은 비교의 일부 메타데이터를 저장하지 않습니다. 예를 들어 열 헤더를 알려줍니다(X는 주제 ID, Y는 BMI) 그러나 분석의 t-test 결과 UI 상단에 표시되는 X의 두 값('A1454-B8565')은 알려주지 않습니다. 우리는 이 정보를 포착하고 싶습니다. 두 가지를 비교하고 있는데, 비교하고 있는 두 가지는 무엇입니까?
4. 데이터 세트의 모든 비교에 대한 모든 t-테스트 결과를 단일 데이터 테이블로 결합합니다. 거기에서는 가장 유용한 형식으로 변환하기 위해 알아낼 수 있는 데이터 조작 문제가 될 것입니다.
이것이 좀 더 명확성을 제공할 수 있기를 바랍니다. 이 문제에 대해 여전히 모호한 부분이 있으면 알려주십시오.
Re: 반복 t-검정의 p-값으로 요약 테이블 생성@Moser_stefan 님, @LinkageBee996님 , 안녕하세요.
나는 당신이 무엇을 하려는지 더 잘 이해합니다. 다음은 몇 가지 생각입니다.
1. 귀하의 설명에 따르면, 분산 분석에서 BY 변수를 활용한 다음 결합된 데이터 테이블 만들기를 활용할 수 있도록 데이터 테이블을 재구성하는 것이 여전히 유익할 수 있다고 생각합니다. 데이터 테이블의 형식을 다시 지정하는 방법에 대해 약간의 생각이 필요할 수 있지만 그럴만한 가치가 있다고 생각합니다. 데이터 테이블이 많아지더라도 언제든지 조인을 수행할 수 있습니다. 결국에는 이를 하나의 데이터 테이블로 결합합니다.
2. 특히 향후 데이터 세트에서 분석을 반복해야 하는 경우 이러한 프로세스를 자동화하는 것이 좋은 생각이라고 생각합니다. 그런 점에서 JSL 코딩을 스스로 배워보는 시간을 가져보시길 적극 권해 드립니다. 이런 종류의 일에 관해서는 모든 사람이 자신만의 특정 요구 사항을 갖고 있으며, JSL을 배워 조직에 도움이 된다면 상상하는 것보다 훨씬 빠르게 발전할 수 있을 것입니다. JMP 문제에 대한 스크립팅 솔루션을 사용하면 삶이 더 편해지고 결과를 얻는 시간이 훨씬 빨라집니다. 특히 온라인 토론 포럼과 여기에도 좋은 정보가 많이 있습니다. 최신 스크립팅 가이드 PDF를 포함하여 유용한 JMP 문서를 여기에서 많이 다운로드할 수 있습니다. 또한 도움말 > 스크립팅 색인 아래에는 스크립팅 색인도 있습니다. 앞서 언급했듯이 코딩과 스크립팅이 처음이라면 필요한 스크립트를 생성해 주는 워크플로 빌더를 사용해 보세요. 즉, 작업을 코딩할 때 더 많은 제어력과 유연성을 가질 수 있도록 직접 배우는 것이 좋습니다.
3. 작업할 실제 데이터 테이블이 없으면(민감한 정보를 보호하기 위해 익명 처리된 경우에도) 일반적으로 작동할 다른 사람을 위한 스크립트를 생성하기가 매우 어렵습니다. 즉 "모든" 상황에서(물론 아무것도 아닙니다) 가능한 모든 상황에서 실제로 작동하지만 요점은 남아 있습니다. 일반화할 수 있도록 만드세요. 다른 사람을 위한 코드 작성은 작업 중인 데이터 테이블과 테이블 내의 데이터 구조에 따라 크게 달라집니다. 분석 및 그룹화 결과 등에 접근하는 방법이 변경되기 때문입니다.
이것이 실제로 당신이 찾고 있는 답이 아니라는 것을 알지만, 데이터를 재구성하거나 JSL을 배우는 데 시간을 투자하면 투자한 노력보다 훨씬 더 많은 보상을 받을 수 있을 것이라고 생각합니다.
행운을 빌어요!,
DS
Re: 반복 t-검정의 p-값으로 요약 테이블 생성@SDF1 님 답변 감사드립니다. JSL 경로는 의미가 있습니다. 경험이 있지만 확실히 전문가는 없으므로 여기서 기술을 성장시킬 수 있는 좋은 기회입니다. 그럼에도 불구하고, 이 문제를 해결할 수 있는 잠재적 경로에 대한 관점을 갖는 것은 몇 가지 옵션이 무엇인지 확인하는 데 유용합니다.
'by' 함수를 어떻게 사용할 수 있는지 확인하기 위해 고군분투하고 있는 한 가지 - 주로 각 비교에서 재사용하려는 데이터 그룹(참조 데이터 세트)이 하나 있고, 비참조 그룹(비참조)이 하나 있기 때문입니다. ) '기준'으로 나누어야 합니다. 이것이 작동하는 것을 볼 수 있는 유일한 방법은 각 비교에 대해 참조 데이터 세트를 복제한 다음 여기에 고유한 변수(예: '비교' 열)를 제공하는 것입니다. 어쩌면 그게 효과가 있을 수도 있습니다... 원시 데이터 테이블의 데이터를 복제하면 다른 문제나 위험이 발생하는지 생각해 봐야 합니다.
글쎄요, 당신은 확실히 우리에게 생각할 거리를 주셨고 응답하는 데 시간을 내어 주셔서 감사합니다. 우리가 어떤 해결책을 제시하든 후속 조치를 취할 것입니다.
Re: 반복 t-검정의 p-값으로 요약 테이블 생성@Moser_stefan 님, @LinkageBee996님 , 안녕하세요.
기꺼이 도와드리겠습니다. 그리고 BY 변수가 왜 조금 어려운지 데이터의 구조를 조금 더 잘 이해한 것 같습니다. 제가 생각/의도한 대로 작동하려면 데이터를 상당히 재구성해야 할 것입니다.
대신, 주제 ID 열을 기반으로 데이터의 하위 집합을 선택하고 참조 열도 사용하는 것이 더 나을 수 있습니다. 그런 다음 하위 집합 데이터 테이블의 각 참조 및 주제 ID에 대해 t-테스트 분석을 수행합니다. 그런 다음 데이터 테이블로 만들기를 사용한 다음 열을 기준으로 결과 데이터 테이블을 조인합니다(예: 데이터 테이블로 만들기 결과의 열 1). 이는 데이터를 재구성하는 데 너무 많은 시간을 소비하지 않고도 현재 데이터 형식에서 솔루션으로 전환하는 가장 빠른 방법일 수 있습니다.
이와 관련하여 소스 열(예: 주제 ID)과 여러 스크립트를 사용하여 모의 데이터 테이블(첨부)을 만들었습니다. 마우스 오른쪽 버튼을 클릭하고 편집을 선택하여 스크립트를 검사할 수 있지만 실행할 수도 있습니다. 소스 A 또는 B별로 그룹화하여 실행한 다음 두 데이터 테이블을 최종 데이터 테이블로 결합하는 마지막 스크립트를 실행합니다. 귀하의 설명에 따르면 귀하는 이와 같은 작업을 수행하고 싶은 것 같습니다. 최소한 스크립트가 특정 요구 사항을 해결하는 데 도움이 되고 출발점을 제공할 수 있기를 바랍니다.
도움이 되었기를 바랍니다!,
DS
Re: 반복 t-검정의 p-값으로 요약 테이블 생성안녕하세요 @Moser_stefan 님 ,
데이터 수집 및 분석을 자동화할 수 있게 되어 기쁩니다. 이러한 종류의 작업을 완료하는 것은 장기적으로 많은 시간을 절약해 주므로 항상 큰 도움이 됩니다.
훌륭한 일!,
DS