이전 행의 값을 기반으로 평균을 계산하려고 시도합니다(이전 값을 검색해야 함).안녕하세요 - jsl이 이전 행의 값(이전 4개 행의 값)을 검색하여 해당 행의 평균을 계산하는 수식에 사용하도록 하는 방법을 알아 내려고 노력 중입니다. 예를 들어 내 열 A에 3,3,2,8,0,2,2 값이 있다고 가정해 보겠습니다. B 열의 수식이 이전 4개 행의 값을 사용하여 A 열의 평균을 계산하도록 하고 싶습니다.평균 함수는 간단하지만 과거 데이터의 하위 집합만 읽고 사용하도록 하는 방법을 알지 못했습니다.
전:
colA colB
삼
삼
2
8
0 4
2 4
2 3
도움을 주셔서 미리 감사드립니다!
스크립팅Re: 이전 행의 값을 기반으로 평균을 계산하려고 함(이전 값을 검색해야 함)안녕하세요,
Lag() 함수를 살펴보셨나요? 아래와 같이 행의 오프셋을 나타낼 수 있습니다.
If( Row() < 4,
.,
Mean( Lag( :Column 1, 3 ), Lag( :Column 1, 2 ), Lag( :Column 1, 1 ), :Column 1 )
)
이 작업을 수행하는 더 우아한 방법이 있을 수 있지만 이 방법은 효과가 있습니다.
최상의,
TS
Re: 이전 행의 값을 기반으로 평균을 계산하려고 합니다(기록 값을 검색해야 함).좋고 간단합니다. 새로운 컬럼 기능을 사용할 때 작동하지 않는 것 같습니다. 즉, 새 열(평균 공식이 포함된 열)에는 아무것도 채워지지 않습니다. 내 스크립트는 다음과 같습니다.
New Column("시간당 터브 전류",
숫자,
마디 없는,
평균( 지연( :pearson_turb_fnu, 4 ), 지연( :pearson_turb_fnu, 3 ),
약함(:pearson_turb_fnu, 2 ), 약함(:pearson_turb_fnu, 1) )
);
내가 올바르게 적용하고 있는 걸까?
Re: 이전 행의 값을 기반으로 평균을 계산하려고 합니다(기록 값을 검색해야 함).Col Moving Average() 함수를 살펴보는 것이 좋습니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
new column("mov avg",formula(
Col Moving Average( :height, 1, 4, 0)));Re: 이전 행의 값을 기반으로 평균을 계산하려고 함(이전 값을 검색해야 함)정말 고맙습니다 짐. 확인해 볼게요. 또한 평균(지연) 공식도 작동하게 했습니다. : )
Re: 이전 행 값을 기반으로 평균을 계산하려고 합니다(이전 값을 검색해야 함)제대로 작동하려면 방정식에 "수식"이라는 단어만 추가하면 되는 것 같네요. TS님, 정말 감사합니다!