R에서이 작업을 시도하고 있지만 Windows 명령 줄도 사용할 수 있습니다.많은 파일을 헤더없이 더 큰 파일에 연결하십시오.
필자는 첫 번째 줄에 헤더가있는 10 개의 큰 파일을 가정 해 보겠습니다. 이 모든 파일을 포함하지만 헤더가없는 단일 파일을 갖고 싶습니다.
가장 빠른 방법은 "copy/b"명령을 사용하여이 모든 파일을 더 큰 파일로 연결 한 다음 SED 소프트웨어를 사용하여 해당 큰 파일에서 헤더 패턴을 찾고 삭제하는 것입니다 그들.
SED가 느리고이 방법이 필요한 모든 컴퓨터에 SED를 설치하고 싶지 않습니다. copy \ b 명령을 사용하여 두 번째 줄에서 더 큰 파일로 붙여 넣을 수 있습니까?
또한 data.table 패키지에서 "fread"로 파일을 메모리로 읽은 다음 write.table을 사용하여 더 큰 파일을 만들기 위해 appending을 사용하는 기술을 수행했습니다. (하지만 write.table은 super super slow이며 data.table의 "fwrite"명령은 CRAN에 아직 없습니다 ... 아직 github에서 개발 중이므로 원하는만큼 안정적이지 않을 수 있습니다 있다).
아무도 제안하지 않았습니까? 당신은 R.이 같은 뭔가를 시도 할 수 있습니다
감사
R로 재현 가능한 코드를 제공하는 것이 좋습니다. 특히 최종 결과의 첫 행으로 헤더를 유지 하시겠습니까? 귀하의 질문에 대한 자세한 내용은 데이터 논쟁 또는 대형 파일에 대한 읽기/쓰기 성능에 관한 것입니까? – pbahr
모든 파일의 헤더가 같은 경우, 큰 파일을 모두'MyList <- lapply()'로 R에있는 목록으로 읽어 들일 수 있습니다. 그런 다음'MyData <- Reduce (function (...) rbind, MyList) '를 사용하여 모두 하나의 데이터 프레임에 넣습니다. 아니면 한 단계에서'MyData <-'줄에'lapply()'를 넣으면됩니다. (이것은 헤더 행을 열 이름으로 사용하여'lapply()'단계에서 데이터 프레임으로 읽는 것을 전제로합니다.) – ulfelder
문제는 단지 쓰기 속도에 있습니다. 파일을 메모리로 읽어 들이기 위해 나는 가능한 최대 속도로 write.table의 느린 속도에 방해가된다. – user1780424