데이터 하위 집합의 평균 구하기안녕,
나는 3개의 다른 시점(0, 1, 3시간)에서 파장 범위(400 - 600nm)에서 채취한 4개의 처리된 샘플과 5개의 처리되지 않은 샘플의 강도를 가지고 있습니다.
장기적으로 나는 처리되지 않은 샘플의 400nm에서의 평균 intestity가 각 시점에서 1이 되도록 내 데이터를 정규화하려고 합니다. 그러기 위해서는 0, 1, 3시간에 평균 미처리, 400nm 강도를 얻는 방법을 알아내야 합니다.
이것은 내 현재 코드입니다.
Col Mean(
:Intensity,
:Time == 1 & :Wavelength( nm ) == 400 & :Treat == "No"
)
내가 만든 그래프(및 Excel 피벗 시트)에서 값이 1시간 동안 약 0.72여야 한다는 것을 알고 있지만 대부분의 행에서 1.3을 얻습니다. 또한 3개의 "and" 문을 만족하는 행에 대해 0.68을 얻었지만 Excel 피벗 시트가 때때로 재미있는 정규화 작업을 수행한다는 것을 알고 있으므로 차이점에 대해 걱정하는지 잘 모르겠습니다.
내 코드를 일관성있게 만들기 위한 제안은 대단히 감사하겠습니다.
Re: 데이터 하위 집합의 평균 구하기괜찮아요 
열 평균( :신장, :나이)
감사합니다
Re: 데이터 하위 집합의 평균 구하기짐,
행에 있는 사람의 나이에 대한 키의 열 평균을 유지하도록 예제 열을 어떻게 얻습니까?
예를 들어 샘플 데이터에서 Katie는 12세이고 그녀의 예 열에는 12세의 열 평균 키만 포함하고 13세인 Alice의 예 열에는 열 평균이 포함되기를 원합니다. 만 13세의 키.
나이별로 중첩된 if를 사용하는 것보다 더 쉬운 방법이 있기를 바랍니다.
감사합니다,
표시
Re: 데이터 하위 집합의 평균 구하기결국 두 번째 옵션을 사용했지만 계산을 위해 정규화 계수를 수동으로 입력해야 합니다... 내 최종 코드는 다음과 같습니다.
If( :Time == 0,
:Intensity / 1.11175075,
If( :Time == 1,
:Intensity / 0.772546829268293,
If( :Time == 3,
:Intensity / 1.2335052,
"Error"
)
)
Re: 데이터 하위 집합의 평균 구하기그런 종류의 작업이 있었지만 동일한 유형으로 간주되는 모든 행에 특정 값(Excel에서 $$를 사용하는 것과 같은 종류)에 적용하는 것은 쉽지 않습니다.
그냥 소프트웨어의 차이라고 생각하고 그 차이에 익숙해져야 할 것 같습니다.
Re: 데이터 하위 집합의 평균 구하기아마도 이것은 명백하지만 방금 설명한 것보다 더 간단해 보입니다.귀하의 예를 사용하여 Col Mean( :Intensity, :Time Period, :Treatment, :Wavelength) 수식으로 새 열을 만들었습니다.피할 수 있고 여기에서 피할 수 있다면 스크립트를 사용하지 않습니다.Col Mean 기능(Statistical 그룹에 있음)을 사용하면 여러 그룹화 변수의 함수로 평균을 계산할 수 있으며 이는 사용자가 표시하는 테이블을 정확하게 생성합니다.
Re: 데이터 하위 집합의 평균 구하기안녕,
귀하의 질문을 올바르게 이해했다면 하나 이상의 그룹화 열별로 특정 열에 대한 평균 통계를 계산하도록 요청하는 것입니다.
첨부된 예제 데이터 테이블에서 두 가지 다른 접근 방식을 사용하여 이 작업을 수행하는 방법을 설명하기 위해 두 개의 스크립트를 저장했습니다. "Mean by Trt and Time Period and Wavelength"는 로컬 데이터 필터가 있는 피벗 테이블을 생성하므로 다양한 기간, 처리 및 파장에 대한 평균 강도를 볼 수 있습니다. 로컬 데이터 필터는 조건부로 적용할 수 있으므로(빨간색 삼각형 옵션 아래의 "조건부" 사용) 범주를 선택할 때 다음 열 필터의 범주를 선택한 범주에 있는 항목으로만 제한합니다.
Tabulate (pivot table) with local data filterTabulate (pivot table) with local data filter로컬 데이터 필터를 사용하여 표로 만들기(피벗 테이블)
"테이블 요약"이라는 제목의 두 번째 스크립트는 그룹화 열로 처리, 기간 및 파장과 함께 테이블-->요약을 사용하는 예입니다.
Tables Summary Dialog with Group ColumnsTables Summary Dialog with Group Columns그룹 열이 있는 테이블 요약 대화 상자
그리고 스크립트로 피벗 테이블을 수행하는 방법을 보고 싶은 다른 사람들을 위해.
Tabulate(
Show Control Panel( 0 ),
Set Format( Mean( :Intensity( 12, 1 ) ) ),
Add Table(
Row Table(
Grouping Columns( :Time Period, :Treatment, :Wavelength ),
Analysis Columns( :Intensity ),
Statistics( Mean )
)
),
Local Data Filter(
Add Filter(
columns( :Wavelength, :Time Period, :Treatment ),
Where( :Time Period == "0" ),
Display( :Treatment, Size( 309, 232 ), List Display )
)
)
)
마지막으로 해당 JSL이 있는 테이블-->요약:
Data Table( "Getting an average of a subset of data.jmp" ) <<
Summary(
Group( :Time Period, :Treatment, :Wavelength ),
Mean( :Intensity ),
Freq( "None" ),
Weight( "None" )
)
이것이 당신이 기대하는 것에 더 가깝습니까?
최상의,
스탠
Re: 데이터 하위 집합의 평균 구하기이 작업을 수행하기 위해 설정해야 하는 다양한 조건을 완전히 자세히 따르지는 않을 것이라고 확신합니다. 당신은 필요합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt << New Column( "Example",
formula(
If( :sex == "F" & :age == 12 | :sex == "M" & :age == 13,
Col Mean( If( :sex == "F" & :age == 12 | :sex == "M" & :age == 13, :height, . ) ),
.
)
)
);
공식을 살펴보십시오. 응답을 얻기 위해 두 가지 다른 결정을 사용했습니다. 먼저 성별과 연령의 특정 조합이 충족되는 행만 평균을 계산해야 합니다. 이러한 세부 사항이 충족되지 않으면 값이 누락된 값이어야 합니다. 두 번째 결정은 첫 번째 결정이 옳았을 때 수행한 다음 열 평균을 계산하려고 하지만 성별과 연령 조합의 특정 값이 참인 값만 포함합니다.
Re: 데이터 하위 집합의 평균 구하기아니, 이것은 내가 기대했던 것이 전혀 아닙니다.
나는 모든 것을 사용하여 강도의 평균값을 얻으려고 노력하고 있습니다.
시간이 1시간이고 파장이 400인 값이며
치료(I@1,400,N). 0시간과 3시간 동안 동일한 작업을 수행합니다(I@ 0,400,N 및
I@3, 400,N)
나는 결국 if 문을 사용하여 시간을 확인하는 공식을 만들 것입니다.
그런 다음 해당 행의 Intensity를 시간으로 나눕니다.
적절한 "I@" 값.
대충:
t = 0이면 I/I@0,400,n
그렇지 않으면 t=1, I/I@1,400,n인 경우
그렇지 않으면 t = 3, I/I@3,400,n인 경우
다른 오류
그것이 내가하려는 일을 더 잘 설명하기를 바랍니다.
Re: 데이터 하위 집합의 평균 구하기코드가 실제로 수행하는 작업을 해석하고 있는지 잘 모르겠습니다. Col Mean() 함수 내의 두 번째 요소는 "By" 문입니다. 즉, 코딩한 방식으로 다음을 충족하는 모든 rew에 대해 Intensity에 대한 하나의 평균을 계산합니다.
:Time == 1 & :Wavelength( nm ) == 400 & :Treat == "No"
해당 기준을 충족하지 않는 모든 행에 대해 해당 행 모두에 대한 강도의 평균을 계산합니다. 따라서 수식을 적용하면 서로 다른 두 값 중 하나만 생성할 수 있습니다. 이것이 당신이 기대하는 것입니까?