Tôi có một termDocumentMatrix
tạo bằng cách sử dụng gói tm
trong R.R gói tm tạo ma trận của Nmost thuật ngữ thường xuyên
Tôi đang cố gắng để tạo ra một ma trận/dataframe đó có 50 thuật ngữ thường xuyên xảy ra nhất.
Khi tôi cố gắng chuyển đổi sang một ma trận Tôi nhận được lỗi này:
> ap.m <- as.matrix(mydata.dtm)
Error: cannot allocate vector of size 2.0 Gb
Vì vậy, tôi đã cố gắng chuyển sang ma trận thưa thớt sử dụng gói Matrix:
> A <- as(mydata.dtm, "sparseMatrix")
Error in as(from, "CsparseMatrix") :
no method or default for coercing "TermDocumentMatrix" to "CsparseMatrix"
> B <- Matrix(mydata.dtm, sparse = TRUE)
Error in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix
tôi đã cố gắng truy cập vào các phần khác nhau của tdm sử dụng:
> freqy1 <- data.frame(term1 = findFreqTerms(mydata.dtm, lowfreq=165))
> mydata.dtm[mydata.dtm$ Terms %in% freqy1$term1,]
Error in seq_len(nr) : argument must be coercible to non-negative integer
Dưới đây là một số thông tin khác:
> str(mydata.dtm)
List of 6
$ i : int [1:430206] 377 468 725 3067 3906 4150 4393 5188 5793 6665 ...
$ j : int [1:430206] 1 1 1 1 1 1 1 1 1 1 ...
$ v : num [1:430206] 1 1 1 1 1 1 1 1 2 3 ...
$ nrow : int 15643
$ ncol : int 17207
$ dimnames:List of 2
..$ Terms: chr [1:15643] "000" "0mm" "100" "1000" ...
..$ Docs : chr [1:17207] "1" "2" "3" "4" ...
- attr(*, "class")= chr [1:2] "TermDocumentMatrix" "simple_triplet_matrix"
- attr(*, "Weighting")= chr [1:2] "term frequency" "tf"
> mydata.dtm
A term-document matrix (15643 terms, 17207 documents)
Non-/sparse entries: 430206/268738895
Sparsity : 100%
Maximal term length: 54
Weighting : term frequency (tf)
đầu ra lý tưởng của tôi là một cái gì đó như thế này:
term frequency
the 2123
and 2095
able 883
... ...
Bất kỳ lời đề nghị?
HTH: term.freq <- rowSums (as.matrix (TDM)) term.freq <- tập hợp con (term.freq, term.freq> = 50) tdm_matrix <- as.matrix (TDM) tfMatrix <- tdm_matrix [tên (term.freq),] – aloplop85