Gói tm
mở rộng c
sao cho nếu được thiết lập PlainTextDocument
s, nó sẽ tự động tạo Corpus
. Thật không may, có vẻ như mỗi PlainTextDocument
phải được chỉ định riêng.cách làm phẳng danh sách các danh sách trong R
ví dụ: nếu tôi có:
foolist <- list(a, b, c); # where a,b,c are PlainTextDocument objects
Tôi muốn làm điều này để có được một Corpus
:
foocorpus <- c(foolist[[1]], foolist[[2]], foolist[[3]]);
Tôi có một danh sách liệt kê của 'PlainTextDocument
s trông như thế này:
> str(sectioned)
List of 154
$ :List of 6
..$ :Classes 'PlainTextDocument', 'TextDocument', 'character' atomic [1:1] Developing assessment models Developing models
.. .. ..- attr(*, "Author")= chr "John Smith"
.. .. ..- attr(*, "DateTimeStamp")= POSIXlt[1:1], format: "2013-04-30 12:03:49"
.. .. ..- attr(*, "Description")= chr(0)
.. .. ..- attr(*, "Heading")= chr "Research Focus"
.. .. ..- attr(*, "ID")= chr(0)
.. .. ..- attr(*, "Language")= chr(0)
.. .. ..- attr(*, "LocalMetaData")=List of 4
.. .. .. ..$ foo : chr "bar"
.. .. .. ..$ classification: chr "Technician"
.. .. .. ..$ team : chr ""
.. .. .. ..$ supervisor : chr "Bill Jones"
.. .. ..- attr(*, "Origin")= chr "Smith-John_e.txt"
#etc., all sublists have 6 elements
Vì vậy, , để có được tất cả PlainTextDocument
s của tôi thành một Corpus
, điều này sẽ hoạt động:
sectioned.Corpus <- c(sectioned[[1]][[1]], sectioned[[1]][[2]], ..., sectioned[[154]][[6]])
Có ai có thể đề xuất một cách dễ dàng hơn không?
ETA: foo<-unlist(foolist, recursive=FALSE)
tạo ra một danh sách phẳng của PlainTextDocuments, mà vẫn để lại tôi với các vấn đề về ăn một yếu tố danh sách bởi yếu tố để c
chỉ để làm điều này dễ hiểu hơn, tôi sẽ chỉ ra rằng việc xác định danh sách bằng lớp (xprime) [ 1] == "danh sách") là cần thiết (thay vì sử dụng is.list) khi đối tượng lồng nhau của bạn là các lớp kế thừa từ danh sách (tức là lưu ý rằng is.list (data.frame (3)) đánh giá là TRUE) – Michael
cũng lưu ý rằng điều này không giữ lại thứ tự cấu trúc ban đầu – Michael