특정 tak의 데이터 테이블과의 효율적인 교차 결합이 가능한지 궁금합니다.crossproduct/join with data.table with function
벡터의 모든 숫자를 다른 모든 숫자와 비교하는 벡터화 된 버전이 있다고 가정 해 보겠습니다. 내가 잘못 아니에요 경우, R에서의 벡터화 버전
somevector <- rnorm(10, 5)
sapply(somevector, function(x) {
return(x-somevector)
})
은 data.table와 같은 매트릭스를 생성하는 것이 가능 있을까요? 효율적일까요?
감사합니다.
귀하의 질문에 대한 답변이 아니지만 귀하의 접근 방식보다 빠른 '외부 (somevector, somevector,'- ')'를 사용할 수 있습니다. – Roland
예, 감사합니다. 나는 당신의 스 니펫을 실행하지만 더 빠른 결과를 얻지 못한다. 'somevector <- rnorm (10000, 5) system.time (sapply (somevector, function (x) {return (x-somevector)})) system.time (outer (somevector, somevector, '-'))' – Drey
내 시스템에서'outer'는 2 배 더 빠릅니다. RAM이 부족하여 병 목을 디스크에 쓰면 속도가 빨라질 수 있습니다. 'data.table'는 인상적인 마술을하지만,이 작업을 빠르게 할 수 있는지 확신 할 수 없습니다. 기억 문제에 도움이 될지 모르지만. – Roland