R :문헌 기간 매트릭스는 예를 들어 I 문서 기간 매트릭스 DTM을
dtm
<<DocumentTermMatrix (documents: 50, terms: 50)>>
Non-/sparse entries: 220/2497
Sparsity : 100%
Maximal term length: 7
Weighting : term frequency (tf)
이제 I는 행렬들의리스트에 전송하려는 각 문서를 나타낸다. 그래서, 한 번에, 각 행을
[[1]]
[,1] [,2] [,3] [,4]
[1,] 23 33 42 117
[2,] 2 1 3 1
[[2]]
[,1] [,2] [,3] [,4]
[1,] 2 19 93 168
[2,] 2 2 1 1
내가 DTM에서 모든 비 - 제로 항목을 찾는 생각하고와 행렬로를 생성 :이 패키지 STM의 형식적 요건을 충족하는 것입니다
mat = matrix()
dtm.to.mat = function(x){
mat[1,] = x[x != 0]
mat[2,] = colnames(x[x != 0])
return(mat)
}
matrix = list(apply(dtm, 1, dtm.to.mat))
그러나
x[x != 0]
은 작동하지 않습니다. 오류 메시지 :
$ operator is invalid for atomic vectors
나는 이것이 왜 그런지 궁금합니다. 사전에 x를 행렬로 변경하면이 오류가 표시되지 않습니다. 그러나, 나는 실제로 약 2,500,000 라인의 dtm을 가지고있다. 나는 이것이 매우 비효율적 일 것을 두려워한다.
안녕하세요, Jamie! 고맙습니다. 내가 dtm 입력을 사용한 이유는 내가 중국어 텍스트를 다루고 있기 때문입니다. textProcessor의 처리 된 $ vocab은 나에게 오직 garbles만을 주었다. 함수에서 인코딩 매개 변수가 보이지 않지만 "language ="매개 변수도 작동하지 않습니다. – user7453767