테이블에 4개의 열이 있고 행당 몇 개의 열이 98% 미만인지 확인해야 하는 경우 간단한 수식을 작성하려면 어떻게 해야 합니까?
비슷한 게시물이 있지만 필요한 것보다 훨씬 더 복잡합니다.
감사해요
안녕 @fionaweston ,
언급한 대로 여기에 제가 Counts 스크립트로 수행한 데이터 테이블 모형이 있습니다. 숫자/연속 열만 계산되며 테이블의 다른 데이터/모델링 유형 열은 무시됩니다.
도움이 되었기를 바랍니다!,
DS
안녕 @fionaweston ,
무엇을 확장하고 일반화하려면 @게오르그 게시되면 이 스크립트를 모든 데이터 테이블에 저장할 수 있으며 개수가 포함된 새 열이 생성됩니다. 데이터 테이블에 수백 개의 열이 있을 수 있고 이것이 얼마나 많은 행을 가지고 있는지 처리할 수 있다고 언급했기 때문에 이것을 추가하고 싶었습니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Counts", Numeric, Continuous );
test = Function( {val},
If( val < 0.98, 1, 0 )
);
For( r = 1, r <= N Rows(), r++,
count = 0;
ret = 0;
For( col = 1, col <= N Col() - 1, col++,
If( Is Missing( Column( col )[r] ) == 1,
count = 0,
count = test( Column( col )[r] )
);
ret += count;
:Counts[r] = ret;
);
);데이터 테이블 이름 옆에 있는 핫 버튼을 클릭하고 새 스크립트를 선택한 다음 위에서 스크립트를 새 스크립트에 복사/붙여넣고(물론 이름도 지정) 녹색 화살표를 클릭하여 실행하면 됩니다. 그런 다음 해당 스크립트를 데이터 테이블에 복사/붙여넣을 수 있습니다. 물론 사용하는 데이터 세트에 따라 "테스트" 기능에서 비교 값을 변경할 수 있습니다.
도움이 되었기를 바랍니다!,
DS
업데이트: 내 원래 게시물이 열의 누락된 값을 설명하지 않은 것을 확인하고 누락된 값을 설명하도록 수정했습니다.
아마도 이 공식은 다음과 같습니다.
test = Function( {val},
If( val < 0.98, 1, 0 )
);
Sum( test( :A ), test( :B ), test( :C ), test( :D</img> ) );