2017-12-15 11 views
2

저는 R에서 tm을 사용하고 10k 문서를 다루고 있습니다. 색인으로 일부를 조사하려고했지만 파일과 일치하지 않았습니다. 왜 tm은 대량의 문서를 이상한 순서로로드합니까? 그리고 그것을 고정/전복 할 수있는 방법은 무엇입니까?많은 양의 문서를 이상한 순서로로드하는 tm 패키지를 수정하는 방법은 무엇입니까?

library(tm) 

docs <- c() 
for (i in 1:10000) { 
    docs <- c(docs, paste('test', i)) 
} 

cor <- VCorpus(VectorSource(docs)) 

filepath = '/home/nate/Dropbox/MSDS/MSDS682_ncg_F8W2_17/test_cor' 
writeCorpus(cor, path = filepath) 

cor2 <- VCorpus(DirSource(filepath)) 

as.character(cor2[[1]]) 
as.character(cor2[[2]]) 
as.character(cor2[[3]]) 
as.character(cor2[[4]]) 

이 출력합니다 :

test 10000 
test 1000 
test 1001 
test 1002 

답변

3

이 결과로 인해 writeCorpus에 의해 생성 된 파일 이름에 대해 오는 다음은 예입니다. 당신의 경로에서 당신은 당신이 다시 DirSource과 그들이 텍스트 종류 대신에 당신의 예상 숫자를 사용하여오고있다 그들을 읽을 때

1.txt, 10.txt, 100.txt, 1000.txt, 1001.txt ... n.txt라는 이름의 파일을 찾을 수 있습니다. 파일 출력, 00001.txt, 00002.txt, 00003.txt ... n.txt, 다시 디스크에서 가져 오기를 만들 것입니다

writeCorpus(
    cor, 
    path = filepath, 
    filenames = paste0(sprintf("%05d", 1:length(cor)), ".txt") 
) 

가에서 읽을 수 있습니다

:

는 예를 들어, writeCorpusfilenames 인수를 추가 할 수 있습니다 의도 한대로 당신의 정렬 순서를 유지하려면 올바른 순서.