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 <[email protected]> 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 <[email protected]>: > >> 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 <[email protected]> >> 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 <[email protected]>: >>> >>>> 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 <[email protected]> >>>> 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 <[email protected]> >>>>> : >>>>> >>>>>> 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 >>>>>> [email protected] >>>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Oscar Benitez >>>> >>> >>> >>> >> >> >> -- >> Oscar Benitez >> > > -- Oscar Benitez [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
