시작일을 어떻게 지정하나요?나는 다른 날짜에 사이트를 입력하는 종단적 연구를 진행했습니다. 비교 가능하도록 하려면 각 입력 날짜를 "1"로 지정하고 두 번째 데이터 수집 지점을 "2"로 지정해야 합니다. 데이터가 긴 형식이고 누락된 데이터가 많습니다(누락된 데이터 수집).
데이터는 다음과 같습니다. "Count"를 생성하고 싶습니다.
ID 날짜 Var1 개수
001 1월-1일. .
001 2월-1일. .
001 3월-1 10 1
001 4월-1 13 2
002 1월 1일 8 1
002 2월-1일 10 2
002 3월-1일. .
JRP 수식을 사용했지만 첫 번째 측정값이 누락되었는지 여부에 관계없이 모든 줄을 계산합니다.
Re: 시작일을 어떻게 지정하나요?감사해요!
저는 JMP 프로그래밍을 배우려고 노력해 왔으며 이 상호 작용은 특히 책에 이상한 요청이 없을 때 도움이 되었습니다.Re: 시작일을 어떻게 지정하나요?새로운 버전의 공식을 첨부했습니다. 최신 수정 사항이 명시된 대로 작동해야 합니다.
토론 커뮤니티는 "코드 팩토리"로 사용되지 않습니다. 사용자가 문제를 해결하여 학습하고 이를 통해 스스로 문제를 해결할 수 있도록 돕는 것입니다.
JMP는 풍부한 문서를 제공합니다. 다음으로 이동하세요.
도움말==>도서==>JMP 사용
그리고
도움말==>도서==>스크립팅 가이드
Re: 시작일을 어떻게 지정하나요?엄청난! 설명과 수정된 공식에 감사드립니다! 감사합니다.
누락된 패턴이 혼합된 경우를 제외하고 개정이 작동합니다. 예를 들어 아래의 "Site=001"을 참조하면 수정된 수식(개수)과 이를 통해 제공하려는 결과는 다음과 같습니다.
사이트 날짜 Var1 개수 What_I_Want
001 5월. . .
001 6월 10일 1 1
001 7월. . .
001 8월 12일. 2
001 9월 15일. 삼
002 5월 13일 1 1
002 6월 14일 2 2
Re: 시작일을 어떻게 지정하나요?1. 귀하가 요청한 내용을 처리하는 새로운 수식이 포함된 새로운 예제 데이터 테이블을 첨부했습니다.
2. 예, :ID 열 이름을 카운터를 다시 시작하는 변수 이름으로 변경하고 :Var 1을 측정 열 이름으로 변경해야 합니다.
3. "TheColumn"이라는 메모리 변수의 이름을 변경하지 말았어야 합니다. 이는 열 이름이 아니며 단지 수식에서 일부 계산을 수행하기 위한 것입니다. 새 수식에서는 열 이름과 관련이 없음을 표시하기 위해 변수 이름을 "Zippy"로 변경했습니다. 수식 끝에 변수의 최종 목록이 표시되는 열에 대한 유일한 연결입니다. JMP는 마지막으로 지정된 값(이 경우 Zippy의 계산된 값)을 가져와서 형식이 적용되는 열, 현재 수식이 작업 중인 행에 사용할 값에 전달합니다.
2. Is Missing()은 함수 ":Var 1"의 내용이 누락된 값인 경우 1을 반환하는 함수입니다. 값이 누락되지 않은 경우 0을 반환합니다. "== "는 "Equal To"의 비교 연산자입니다. 따라서 "== 0"은 "Is Missing()" 함수가 "0"을 반환하는지 묻는 것입니다. 이는 변수 값이 유효한 값임을 의미합니다.
Re: 시작일을 어떻게 지정하나요?짐,
후속 조치를 취해 주셔서 감사합니다.
1. 값이 누락되면 Count 열의 계산을 중지할 수 있나요? 예에서는 마지막 카운트 번호를 반복하며 아마도 ID 번호가 변경될 때까지 그렇게 할 것입니다.
2. 귀하의 수식을 복사하여 붙여넣었습니다. 귀하의 수식에서 제가 변경한 유일한 것은 변수 이름이 제 데이터 세트와 정확히 일치하도록 하는 것입니다.
3. 내 변수 이름에 "count"라는 단어가 나타나지 않습니다. "TheCount" 변수의 이름을 "Column 10"으로 바꾸었는데 동일한 오류 메시지가 나타납니다. 또한 내 사이트 변수의 이름을 바꾸려고 시도했습니다. 같은 문제입니다.
4. 저는 JMP Pro 13.1을 사용하고 있습니다.
누락됨(Var1) == 0 그러면 TheCount=1
Var1이 누락된 경우 새 변수(TheCount)=1인 것처럼 변환됩니까? 그런데 "==0"은 무엇을 하는 걸까요?
이것이 내 변수 이름을 포함하여 내가 가지고 있는 것입니다.
만약에 ( 지연 ( :사이트ID ) != :사이트ID,
만약에 ( 누락 ( :NozeroValue ) == 0 ,
:열 10 = 1 ,
:열 10 = .
),
만약에 ( 누락 ( :NozeroValue ) == 0 ,
:열 10 = 합집합 ( :열 10, 1 )
)
);
:열 10;
Re: 시작일을 어떻게 지정하나요?제가 첨부한 데이터 테이블을 열어보신 것 같습니다. 그리고 말씀하신 내용에서 Count 열의 값을 볼 수 있습니다. 해당 값이 표시되면 공식이 작동하는 것입니다. 카운트가 2로만 가는 이유는 제공한 예와 마찬가지로 ID 열이 변경되면 카운트가 재설정되고 카운터가 다시 시작되기 때문입니다.
제가 제공하는 공식에서 변경된 사항이 있나요? "Count"라는 열의 수식에 "Count"라는 이름을 사용하려고 하면 재귀 문제가 발생할 수 있습니다. 이것이 계산에 변수 이름 "TheCount"를 사용하는 이유입니다. 수식은 계산된 마지막 항목을 사용하여 수식에 사용할 값을 전달합니다.
마지막으로, 어떤 버전의 JMP를 사용하고 계시나요?
Re: 시작일을 어떻게 지정하나요?흠. 동일한 오류 메시지. 제가 드린 데이터를 제가 만들어 냈는데, 제 데이터에서 ID가 문자라는 점만 빼면 똑같은 생각입니다. 그러면 차이가 생길까요?
또한 수식이 2에서 계산을 멈춘 것을 확인했습니다.
감사해요!
Re: 시작일을 어떻게 지정하나요?첨부된 것은 Count 열에 대한 공식 세트가 포함된 데이터 세트입니다.
Re: 시작일을 어떻게 지정하나요?이 수식을 사용하면 다음과 같은 오류가 발생합니다.
"잘못된 참조(재귀)가 행에서 1회:2"
공식을 따르지만 어디에서 오류가 발생했는지 알 수 없습니다.
Re: 시작일을 어떻게 지정하나요?다음은 작동하는 공식의 한 버전입니다.
If( Lag( :ID ) != :ID,
If( Is Missing( :Var1 ) == 0,
TheCount = 1,
TheCount = .
),
If( Is Missing( :Var1 ) == 0,
TheCount = Sum( TheCount, 1 )
)
);
TheCount;