Il pacchetto tm
estende c
in modo che, se viene fornito un set di PlainTextDocument
s, venga creato automaticamente un Corpus
. Sfortunatamente, sembra che ogni PlainTextDocument
debba essere specificato separatamente.come appiattire un elenco di elenchi in R
ad es. se avessi:
foolist <- list(a, b, c); # where a,b,c are PlainTextDocument objects
farei questo per ottenere un Corpus
:
foocorpus <- c(foolist[[1]], foolist[[2]], foolist[[3]]);
Ho una lista di liste di 'PlainTextDocument
s che assomiglia a questo:
> 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
Così , per ottenere tutti i miei PlainTextDocument
s in un Corpus
, questo funzionerebbe:
sectioned.Corpus <- c(sectioned[[1]][[1]], sectioned[[1]][[2]], ..., sectioned[[154]][[6]])
Qualcuno può suggerire un modo più semplice, per favore?
ETA: foo<-unlist(foolist, recursive=FALSE)
produce una semplice lista di PlainTextDocuments, il che mi lascia ancora con il problema di alimentare un elemento di lista per elemento di c
solo per fare questo un po 'più comprensibile io solo sottolineare che le liste identificano usando la classe (xprime) [ 1] == "elenco") è necessario (piuttosto che usare is.list) quando gli oggetti nidificati sono di classi che ereditano da elenchi (ad es. nota che is.list (data.frame (3)) restituisce TRUE) – Michael
nota anche che questo non mantiene l'ordine della struttura originale – Michael