여러 기준이 결합된 행을 선택하는 방법안녕,
다음 기준을 사용하여 대규모 데이터 세트 내에서 특정 그룹을 분리하려고 합니다. 2개의 특정 질문에 예라고 답한 모든 주제 및 다른 3개의 질문에 모두 예라고 답한 모든 주제(총 질문 수 = 9). 나는 첫 번째 기준을 충족하는 피험자를 비교적 쉽게 분리할 수 있었지만 두 번째 기준을 충족하는 피험자를 선택하는 방법을 모릅니다(첫 번째 기준을 충족하는 모든 피험자가 두 번 계산하지 않도록 관심 샘플에서 제거되었다고 가정). 어떤 도움이라도 대단히 감사하겠습니다!
Re: 여러 기준이 결합된 행을 선택하는 방법정보 주셔서 감사합니다! Fruit_Scanner=="2"를 Fruit_Scanner==2로 수정하는 것은 매력처럼 작동했습니다. 이를 사용하여 마침내 다음을 사용하여 찾고 있던 행을 얻을 수 있었습니다.
dt = 열려 있는 ( "myfile.jmp" ) ;
dt << 위치 선택 ( : testendurance_T1 == 1 | : teststrong_T1 == 1 | 합집합 ( : testenjoy_T1 == 1 , : testad_T1 == 1 , : testsports_T1 == 1 , : testsleep_T1 == 1 ,
: testperform_T1 == 1 , : testlibido_T1 == 1 , : maleenergy_T1 == 1 ) >= 삼 ) ;
모든 것에 대해 다시 한 번 감사드립니다!
Re: 여러 기준이 결합된 행을 선택하는 방법Fruit_scanner 및 Vegitable_Scanner 열이 문자가 아니라 숫자인 것 같습니다."비작동" 예에서 비교를 다음과 같이 지정했습니다.
Fruit_Scanner=="2".
Fruit_Scanner가 숫자 열인 경우 비교는 다음과 같습니다.
Fruit_Scanner==2
또한 Fruit_scanner의 실제 값을 살펴보십시오.나는 당신이 값이 0 또는 1이라고 표시했다고 생각했습니다. 그것이 사실이라면 다음을 찾아야 합니다.
Fruit_Scanner==1
내가 게시한 원래 답변은 원하는 것을 얻기 위해 사용해야 하는 형식입니다.필요한 것은 열의 실제 이름과 해당 열의 실제 값입니다.당신이 그것을 제공할 수 있다면, 나는 당신에게 JSL을 줄 수 있다고 생각합니다
Re: 여러 기준이 결합된 행을 선택하는 방법고마워 짐! 이 조합이 적어도 하나의 행에 해당된다는 것을 알고 있지만 여전히 아무것도 선택되지 않았기 때문에 4를 1로 바꾸려고 했습니다. 전반적으로 총 7개 질문 그룹 중 최소 3개 질문에 대한 답변으로 "예"(1로 코딩됨)가 있는 행을 선택하려고 합니다(따라서 총 >=3). 어떤 조언이라도 대단히 감사하겠습니다.
다시 한번 감사합니다!
Re: 여러 기준이 결합된 행을 선택하는 방법논리가 작동하는 방식을 놓치고 있는 것 같습니다.아래에 있는 것은 합계가 1보다 클 수 없습니다.
부울 비교 결과는 항상 0 또는 1입니다.
따라서 X라는 변수의 값이 22인지 확인하는 경우 비교기 또는
X==22는 참일 때 1을, 거짓일 때 0을 반환합니다.
아래 예에서 비교자는
Fruit+Screener == "2" & Vegitables_Screener == "2"는 true(1) 또는 False(0)만 가능합니다.
이 합계는 0 또는 1만 될 수 있으며 4는 절대 될 수 없습니다.
Re: 여러 기준이 결합된 행을 선택하는 방법빠른 응답을 주셔서 감사합니다 제프! " "를 추가하면 해당 특정 ID 번호와 일치하는 행을 격리하는 트릭을 수행했습니다. 이전에 언급한 7개의 질문 세트에서 최소 3개의 질문에 대한 "예"(1로 코딩됨) 답변의 기준과 일치하는 행이 있는지 실제로 알 수 없기 때문에 몇 가지 변수에 대한 합계 명령을 입력하려고 했습니다. 나는 무언가를 반환해야한다는 것을 알았습니다. 내가 시도한 것은 다음과 같습니다.
dt = 열려 있는 ( "myfile.jmp" ) ;
dt << 위치 선택 ( 합집합 ( :Fruit_스크리너 == "2" & :야채_스크리너 == "2" ) == 4 ) ;
불행히도 아무 일도 일어나지 않았습니다. 적어도 하나의 행이 이 두 변수에 대해 "아니오"(2로 코딩됨) 기준을 충족하지만 선택이 발생하지 않았다는 것을 알고 있습니다. 변수 이름의 _가 문제가 될 수 있습니까, 아니면 합계 수식의 오류입니까?
다시 한번 감사합니다!
Re: 여러 기준이 결합된 행을 선택하는 방법
@제프_퍼킨슨 쓴 :
문자 열이 표시됨을 기억하십시오. 오른쪽 왼쪽 정렬 및 숫자 열은 왼쪽 오른쪽.
왼쪽과 오른쪽이 엉망이되었습니다. 죄송합니다!
-제프
Re: 여러 기준이 결합된 행을 선택하는 방법ID 열이 문자입니까 아니면 숫자입니까?
문자 열이 표시됨을 기억하십시오. 오른쪽 왼쪽 정렬 및 숫자 열은 왼쪽 오른쪽.
열이 문자인 경우 비교를 위해 ID 값을 큰따옴표로 묶어야 합니다.
예를 들어:
:ID=="1234"
Re: 여러 기준이 결합된 행을 선택하는 방법ID 열이 문자입니까 아니면 숫자입니까?
문자 열은 오른쪽 정렬로 표시되고 숫자 열은 왼쪽에 표시된다는 점을 기억하십시오.
열이 문자인 경우 비교를 위해 ID 값을 큰따옴표로 묶어야 합니다.
예를 들어:
:ID=="1234"
Re: 여러 기준이 결합된 행을 선택하는 방법다들 감사 해요! 코드 수정을 시도했지만 여전히 작동하지 않아 문제를 파악하기 위해 JMP 스크립팅 가이드로 이동했습니다. 이 코드를 사용하여 모든 행을 선택할 수 있었습니다.
dt = 열기 ( "myfile.jmp" ) ;
dt<<모든 행 선택;
이것이 효과가 있었기 때문에 JMP 명령을 사용하여 작업을 제대로 수행할 수 있는지 확인해야 했던 원래 코드보다 더 간단한 코드를 사용하려고 했습니다. 다음 코드를 성공적으로 시도했습니다.
dt = 열려 있는 ( "myfile.jmp" ) ;
dt << 위치 선택 ( :아이디==10322 ) ;
오류 메시지 없이 실행했지만 아무 일도 일어나지 않았습니다. 선택했어야 하는 특정 행을 확인했지만 여전히 선택되지 않았습니다. 다시 시도했지만 여전히 아무것도 없습니다. 스크립트 로그에 들어가서 다음을 찾았습니다.
//:*/
dt = Open( "myfile.jmp" );
dt << 선택 위치( :ID==10322 );
/*:
스크립트 가능[]
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 선택 위치( :ID==10322 );
코드를 ID=10322로 전환하여 차이가 있는지 확인하고 다음을 얻었습니다.
/*:
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 선택 위치( :ID=10322 );
/*:
비교를 위해 == 사용, = 할당
비교를 위해 == 사용, = 할당{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 선택 위치( :ID=10322 );
/*:
비교를 위해 == 사용, = 할당
비교를 위해 == 사용, = 할당{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 선택 위치( :ID=10322 );
/*:
나는 이것이 단순한 오류라고 생각하지 않을 수 없지만 여전히 당황합니다. 이견있는 사람?
도움을 주셔서 다시 한 번 감사드립니다!
Re: 여러 기준이 결합된 행을 선택하는 방법아래 Mark의 의견이 정확합니다.내가 준 예에는 주석이 있습니다.
/* or >= 3 if that is what you want */
한 줄의 코드에 포함됩니다.이 유형의 주석은 "/*"로 시작하고 주석을 끝내기 위해 "*/"를 찾습니다.코드에 /*, ");"만 있기 때문에 다음 줄에 있는 것은 진행 중인 주석의 일부로 간주됩니다.
Re: 여러 기준이 결합된 행을 선택하는 방법마지막 줄 옆에서 주석을 시작했기 때문에 닫는 괄호가 보이지 않습니다.
Re: 여러 기준이 결합된 행을 선택하는 방법빠른 답장을 보내 주셔서 감사합니다. 내 변수와 1을 예 코드로 사용하여 귀하가 제공한 것을 시도했습니다.
dt = 현재 데이터 테이블 () ;
dt << 행 선택 (
testendurance_T1 == "1" & teststrong_T1 == "1" & 합집합 (
testenjoy_T1 == "1" ,
testad_T1 == "1" ,
testsports_T1 == "1" ,
testsleep_T1 == "1" ,
testperform_T1 == "1" ,
testlibido_T1 == "1" ,
maleenergy_T1 == "1"
) > = 삼 /*
);
다음 오류가 발생했습니다.
예기치 않은 입력 종료. 누락된 "," 또는 ")"가 있을 수 있습니다. "select rows where" 함수의 인수를 구문 분석하려고 합니다. 12행 4열: );►
행 12를 확인했는데 포함 기준을 충족하지 않습니다. 나는 분명히 뭔가를 놓치고 있지만 무엇을 알 수 없습니다.
다시 한번 감사합니다!
Re: 여러 기준이 결합된 행을 선택하는 방법아래는 수행해야 할 작업의 논리를 보여주는 "Select Rows Where" 스크립트입니다.이 작업을 대화식으로 수행하려면 명령문의 논리 구성 요소를 가져와 빌드하십시오.
행==>행 선택==>위치 선택
dt = Current Data Table();
dt << select rows where(
q1 == "Yes" & q2 == "Yes" & Sum(
q3 == "Yes",
q4 == "Yes",
q5 == "Yes",
q6 == "Yes",
q6 == "Yes",
q7 == "yes",
q8 == "Yes",
q9 == "Yes"
) == 3 /* or >= 3 if that is what you want */
);