수백만 개의 행과 수십 개의 열이있는 거대한 데이터 테이블이 있으므로 성능이 중요한 문제입니다. 이 데이터는 콘텐츠 사이트에 대한 방문을 설명합니다. 각 방문의 가장 초기 (즉, 최소 조회 시간) 히트의 ContentId를 계산하려고합니다. 내가 한 일은 : dt[,.(FirstContentOfVisit=ContentID[ContentID != ""][which.min(HitTime)]), by=VisitId,.SDcols=c("ContentID","HitTime")]
다른 열의 조건을 기반으로 열을 필터링하는 방법 R
문제는 내가 알고 싶지 않은 모든 HitTime 벡터에서 which.min이 처음으로 계산되는지 (또는 필자가 모르는 경우) 아니면 필터링 된 HitTime 벡터 (비어 있지 않은 ContentID에 해당하는 벡터).
또한 내가 계산 한 후 처음과 다른 ContentID의 최소 HitTime (첫 번째가 아닌 콘텐츠 ID의 가장 빠른 조회 시간)을 어떻게 얻을 수 있습니까?
매우 강력한 시스템 (가상 머신)을 가지고 있지만 사용자 정의 함수 (첫 번째 - 하위 데이터 테이블 정렬 후 원하는 값 추출)와 함께 두 가지 작업을 모두 시도했지만)와 180GB RAM 그래서 인라인 솔루션을 찾고 있습니다.