2013-01-15 2 views
4

여러 파일을 함께 마스터 파일로 결합하려고 시도한 피클에 희미합니다. 구조가 동일한 5 개의 파일이 있으며 각 파일을 개별적으로 문제없이 데이터 프레임으로 읽을 수 있습니다. R을 결정하는 대신 200 + 변수에 대한 열 클래스를 수동으로 설정하기도했습니다. 왜냐하면 문제를 일으키는 것으로 믿었 기 때문입니다. 그러나 두 파일을 함께 추가하면 메모리 부족이 발생합니다.rbind를 사용하여 데이터 프레임을 추가하는 신비한 문제

경고 메시지 : 1 : rbind에서 (deparse.level는, ...) : 는 4043Mb의 총 할당을 도달 : 도움 (memory.size)

그래서 내가 몇 번의 실험을했다 참조 : 두 개의 서로 다른 파일 덩어리를 함께 연결했습니다. 그거야. 파일 2의 덩어리를 파일 1의 덩어리에 연결했습니다. 작동합니다. 원본 파일 1에 파일 2의 청크를 결합했습니다. 작동합니다.

각 파일은 200MB 미만으로 제공되므로 메모리가 부족하다는 것을 확신하지 못합니다. 관심이있는 사람은 hearstchallenge.com입니다. 경쟁이 오래 끝났습니다. 우리는 분석 실험을 위해 데이터를 사용하고 있습니다 (프로그래밍이 아닙니다!).

해결 방법에 대한 제안 사항이 있으십니까?

+3

+1 "피클 묽게 함". 실행중인 문제는 작업을 완료하기 위해 R에 4043 개의 연속적인 메모리가 필요하다는 것입니다. 그리고 그 정도면 여유가 없다고 생각합니다. 'sed'와 같은 명령 행 도구를 사용하여 R 외부의 파일이나'ff'와 같은 큰 데이터 패키지 중 하나를 결합 할 수 있습니다. – Justin

+1

'write.table'도'append' 옵션을 가지고 있습니다. –

+0

@Oliver 당신이 32 비트 머신에 있다고 생각합니까? –

답변

0

비슷한 문제가 발생했습니다. 해결책은 대용량 데이터에서 rbind() 또는 cbind()를 사용하지 않는 것입니다. 그들은 기억을 누설하는 경향이 있습니다.

R 만 사용하여 문제를 해결하려면 먼저 조각을 합친 후에 데이터 프레임이 가질 차원의 데이터 프레임을 만드십시오. 그런 다음 할당을 사용하여 큰 데이터 프레임을 채 웁니다.

+0

큰 데이터의 경우 data.frames를 사용하지 말고, data.tables를 사용하십시오. – mnel

관련 문제