Gracias, Oscar. Al parecer corresponde a un vector de caracteres. Puesto que lo que necesitamos es la informacion asociado a cada uno de esos "nombres", creo que necesitas _leer_ la informacion que esta en cada uno de ellos. Por ejemplo,
y <- scan(bNames[1], what = 'character') y tendra la informacion contenida en el archivo "qB001.txt". Una vez con esa informacion puedes construir el corpus como TermDocumentMatrix(y, control = list(tokenize = nGram1Tok)) y continuar el proceso que tienes en mente. Ten en cuenta que no puedo probar nada de lo que sugiero, asi que es solo una "sugerencia". Saludos cordiales, Jorge.- 2015-04-13 10:24 GMT+10:00 Oscar Benitez <oscar.benitez1...@gmail.com>: > Jorge, amigos de R-help > > obtengo lo siguiente: > > > > str(bNames) > chr [1:150] "qB001" "qB002" "qB003" "qB004" "qB005" "qB006" "qB007" ... > > > Gracias y saludos > Oscar > > El 12 de abril de 2015, 20:15, Jorge I Velez <jorgeivanve...@gmail.com> > escribi�: > >> Hola Oscar, >> >> A lo mejor este equivocado, pero creo que necesitas >> >> read.table(bNames[[i]]) >> >> en lugar de >> >> bNames[[i]] >> >> Como esta, bNames[[i]] corresponde al nombre del corupus, no al corpus >> como tal. >> >> Nos ayudaria muchisimo el resultado de >> >> str(bNames) >> >> Saludos cordiales, >> Jorge.- >> >> >> 2015-04-13 9:25 GMT+10:00 Oscar Benitez <oscar.benitez1...@gmail.com>: >> >>> Jorge, estimados colaboradores de R-help >>> >>> Estuve tratando de utilizar un script para uno de los pasos en mi >>> an�lisis, que es transformar cada uno de los corpus en mi espacio de >>> trabajo en un objeto TermDocumentMatrix >>> >>> Tengo un vector llamado bNames que lista todos los corpus que quiero >>> pasar a TDM, y constru� los siguientes comandos: >>> >>> tdm.n1 <- vector('list', length = length(bNames)) >>> >>> for(i in seq_along(tdm.n1)){ >>> tdm.n1.[[i]] <- >>> TermDocumentMatrix(bNames[[i]],control=list(tokenize=nGram1Tok)) >>> } >>> >>> pero obtengo el siguiente error: >>> >>> Error in UseMethod("TermDocumentMatrix", x) : >>> no applicable method for 'TermDocumentMatrix' applied to an object of >>> class "character" >>> >>> entonces revis� qu� es lo que bNames[[i]] le est� pasando al for >>> >>> bNames[[1]] >>> [1] "qB001" >>> >>> Una cadena de texto, no el corpus llamado "qB001"!!, por eso obtengo el >>> error. >>> Alguien se le ocurre c�mo hacer para que lea cada uno de los objetos en >>> la lista y se los pase de a uno a la funci�n? >>> Muchas gracias por adelantado >>> Oscar >>> >>> >>> >>> >>> >>> >>> El 10 de abril de 2015, 11:28, Jorge I Velez <jorgeivanve...@gmail.com> >>> escribi�: >>> >>>> Oscar, >>>> >>>> Cambia >>>> >>>> (l[i]) >>>> >>>> por >>>> >>>> read.table(l[i]) >>>> >>>> Olvide leer cada archivo en el codigo anterior. >>>> >>>> Saludos, >>>> Jorge.- >>>> >>>> 2015-04-11 0:02 GMT+10:00 Oscar Benitez <oscar.benitez1...@gmail.com>: >>>> >>>>> Jorge >>>>> Gracias por el consejo. Aparentemente no lo estoy aplicando bien, pues >>>>> el objeto que obtengo no contiene lo que quiero. >>>>> Me explico, al ejecutar >>>>> >>>>> txt <- vector('list', length = length(names)) #names el el vector >>>>> donde ya ten�a almacenada la lista de txt's >>>>> for(i in seq_along(txt)){ >>>>> txt[[i]] <- Corpus(VectorSource(names[i])) >>>>> } >>>>> >>>>> obtengo el objeto txt: >>>>> > class(txt) >>>>> [1] "list" >>>>> >>>>> si extraigo solamente el primer objeto de esa lista: >>>>> > txt[[1]] >>>>> <<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>> >>>>> >>>>> si quiero ver el contenido del primer copus >>>>> >>>>> > inspect(txt[[1]]) >>>>> <<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>> >>>>> >>>>> [[1]] >>>>> <<PlainTextDocument (metadata: 7)>> >>>>> qB001.txt >>>>> >>>>> me informa cosas sobre el objeto, pero los datos no est�n all�... >>>>> deber�a mostrarme algo as� como: >>>>> >>>>> inspect(cbD02[1:1]) #inspecciono el corpus cbD120, creado a mano por >>>>> la sentencia cbD120<-Corpus(VectorSource(qT120)) >>>>> >>>>> #......contenido del corpus...... >>>>> I went to go see some gypsy to tell me my future, but she asked for my >>>>> photograph instead. >>>>> itz me the one who was talkin to u last time !!! >>>>> starts at 4pm. come get sunny munny :) >>>>> kind of scary to imagine what needs military wiping!!!! >>>>> #.....m�s.contenido del corpus...... >>>>> >>>>> >>>>> si quiero aplicarle un funci�n propia de limpieza de corpus, por >>>>> ejemplo eliminar los n�meros presentes en el corpus >>>>> > tm_map(txt[[1]], removeNumbers) >>>>> <<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>> >>>>> >>>>> no hace nada de nada... >>>>> >>>>> Saludos >>>>> >>>>> Oscar >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> El 10 de abril de 2015, 1:15, Jorge I Velez <jorgeivanve...@gmail.com> >>>>> escribi�: >>>>> >>>>>> Oscar, >>>>>> >>>>>> Una forma de trabajar con este tipo de archivos es utilizando listas: >>>>>> >>>>>> # directorio del proyecto >>>>>> setwd('~/proyecto') >>>>>> >>>>>> # archivos de texto >>>>>> l <- list.files(pattern = '.txt') >>>>>> >>>>>> # procesamiento >>>>>> txt <- vector('list', length = length(l)) >>>>>> for(i in seq_along(txt)){ >>>>>> txt[[i]] <- Corpus(VectorSource(l[i])) >>>>>> } >>>>>> >>>>>> # para acceder a la informacion del primero archivo, solo debes >>>>>> escribir >>>>>> txt[[1]] >>>>>> >>>>>> >>>>>> Espero sea de utilidad. >>>>>> >>>>>> Saludos, >>>>>> Jorge.- >>>>>> >>>>>> >>>>>> 2015-04-10 14:14 GMT+10:00 Oscar Benitez <oscar.benitez1...@gmail.com >>>>>> >: >>>>>> >>>>>>> Hola a todos! >>>>>>> Estoy en un proyecto de text mining y por razones de los recursos >>>>>>> con que >>>>>>> cuento tuve que separar los archivos de texto de input del proyecto >>>>>>> en >>>>>>> muchos archivos peque�os. >>>>>>> Luego de transformar cada uno de estos archivos en un corpus >>>>>>> separado, >>>>>>> puedo aplicar limpieza sobre cada corpus, buscar n-gramas, construir >>>>>>> cada >>>>>>> termDocumentMatrix y finalmente reunir todo en una sola TDM. >>>>>>> >>>>>>> Pero estoy atorado en el paso de transformar cada uno de los >>>>>>> archivos en >>>>>>> corpus mediante un loop. Es decir que en lugar de hacer esto >>>>>>> infinitas >>>>>>> veces: >>>>>>> >>>>>>> #Librerias necesarias >>>>>>> library(tm) >>>>>>> >>>>>>> corpus_001<-Corpus(VectorSource(qBlog001)) >>>>>>> corpus_002<-Corpus(VectorSource(qBlog002)) >>>>>>> corpus_003<-Corpus(VectorSource(qBlog003)) >>>>>>> ......... >>>>>>> corpus_150<-Corpus(VectorSource(qBlog150)) >>>>>>> ........ >>>>>>> >>>>>>> quisiera poder armar un loop que haga el trabajo, como por ejemplo >>>>>>> >>>>>>> >>>>>>> >>>>>>> #lista con los nombres que quiero para cada corpus >>>>>>> c_names <- paste("corpus_",formatC(seq(length(bNames)), >>>>>>> width=3, flag="0"), >>>>>>> sep="") >>>>>>> >>>>>>> donde bNames es la lista de los df que tengo cargados "qBlog001" >>>>>>> "qBlog002"..."qBlog150"... >>>>>>> >>>>>>> algo as� es lo que tengo en mente: >>>>>>> >>>>>>> for (i in bNames) { >>>>>>> for (j in c_names) { >>>>>>> j<- Corpus(VectorSource(i)) >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Pero no funciona, he probado con lapply, con sapply, con llply de la >>>>>>> librer�a (plyr) y no encuentro la manera de hacerlo.. >>>>>>> Cualquier sugerencia sera bienvenida! >>>>>>> Muchas gracias por adelantado! >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Oscar Benitez >>>>>>> >>>>>>> [[alternative HTML version deleted]] >>>>>>> >>>>>>> _______________________________________________ >>>>>>> R-help-es mailing list >>>>>>> R-help-es@r-project.org >>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Oscar Benitez >>>>> >>>> >>>> >>>> >>> >>> >>> -- >>> Oscar Benitez >>> >> >> > > > -- > Oscar Benitez > [[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es