제가 깜빡하고 언급하지 못한 것 중 하나가 내 이전 게시물 행렬 조회 방법이 문자 데이터에 제대로 적용되지 않는다는 점이었습니다. 코드는 matrices.JSL을 사용하여 작업 설정 기능이 포함되어 있습니다 지도문자열 소문자로 구성된 문자열을 숫자 값으로 변환합니다. 이 매핑을 사용하면 작업 속도가 상당히 느려집니다. 관련 포스팅에서 , @Adi-B 데이터 테이블 열에서 찾기 및 바꾸기를 수행하는 방법에 대해 질문했습니다. 다시 말하지만, 우리는 한 문자열에서 다른 문자열(이 경우 다른 문자열)로의 매핑을 다루고 있습니다.
이는 이번 달의 과제로 이어집니다. 하나의 값 집합을 새로운 값 집합에 매핑하는 가장 빠른 방법은 무엇입니까?
- 연속형 데이터의 경우 값을 분위수, 십분위수(예: 10개 그룹)로 그룹화하는 것이 가장 일반적일 수 있습니다. 함수를 작성하고, 분위수그룹( 인벡 , 퀀트 ) , 이는 벡터와 1보다 큰 양의 정수를 사용하여 입력 값이 속하는 분위수 그룹을 반환합니다. 예를 들어,
인벡 = [1,2,3,4,5,6,7,8,9] 그리고 퀀트 = 3
함수가 반환됩니다 [1,1,1,2,2,2,3,3,3] .
특히 중복이 있는 경우 분위수 그룹 경계에 걸쳐 있는 값을 처리하는 방법을 결정해야 합니다.
- 여러 수준의 범주형 데이터를 처리할 때 개수가 적은 수준을 단일 수준으로 집계하는 것이 종종 의미가 있습니다. 함수 만들기 AggregateLowCounts( 목록에 있음 ) 이는 범주형 값의 입력 목록을 가져와 개수가 높은 값을 자체적으로 매핑하고 개수가 낮은 값을 하나의 새 그룹으로 매핑하는 목록을 반환합니다. 낮은 카운트에 대한 컷오프 값을 결정하는 방법은 과제의 일부입니다.
- 참조 위에서 언급한 포스팅 , 함수 만들기 찾기및바꾸기( 목록에 있음 , aa지도 ) 이는 문자열 목록을 가져와 각 항목에 대해 두 번째 인수로 제공된 연관 배열을 사용하여 하나의 하위 문자열에서 새 하위 문자열로 매핑을 수행합니다. 이 매핑은 일대일 또는 다대일일 수 있습니다.
- (추가 크레딧) 문자열 목록 검색이 보다 빠르게 이루어질 수 있습니까? 위치 ? 목적 지도문자열 문자열을 숫자로 변환하는 것이 었습니다. 위치 정렬됨 , 이진 검색을 사용하는 것이 사용될 수 있습니다. 위치 정렬됨 보다 상당히 빠르다 위치 . 함수를 만들어 보세요. locSortedString( 문자열목록 , 문자열 ) 문자열의 위치를 찾는 것 문자열 정렬된 문자열 목록에서 문자열목록 . 이보다 더 빠르게 뭔가를 만드는 것은 상상하기 어렵습니다. 위치 발생할 수 있는 가능한 문자열 값에 대한 사전 지식 없이. 이를 염두에 두고 모든 문자열이 우리가 사용한 단어 목록에서 나온다고 가정합니다. 도전 1 . 아래에 첨부되어 있습니다.
행운을 빌어요!