R Markdown

Este informe proporciona el analisis exploratorio de los datos de texto que se utilizaran para el proyecto Capstone para la Especializacion en Ciencia de Datos .

tamano, lineas , caracteres y parabras del priner archivo

setwd("c:/r/decimo/final/en_US")
archivo1 <- readLines("en_US.blogs.txt",warn=FALSE, encoding="UTF-8")
tamano1<-file.info("en_US.blogs.txt")$size/1024^2
tamano1
## [1] 200.4242
lineas1 <-length(archivo1)
lineas1
## [1] 899288
carteres1<-sum(nchar(archivo1))
carteres1
## [1] 206824505
palabras1<-sum(stri_count_words(archivo1))
palabras1
## [1] 37546239

tamano, lineas , caracteres y parabras del Segundo archivo

setwd("c:/r/decimo/final/en_US")
Archivo2 <- readLines("en_US.news.txt",warn=FALSE, encoding="UTF-8") 
tamano2<- file.info("en_US.news.txt")$size/1024^2
tamano2
## [1] 196.2775
lineas2<-length(Archivo2)
lineas2
## [1] 77259
carteres2<-sum(nchar(Archivo2))
carteres2
## [1] 15639408
palabras2<-sum(stri_count_words(Archivo2))
palabras2
## [1] 2674536

tamano, lineas , caracteres y parabras del Tercer archivo

setwd("c:/r/decimo/final/en_US")
archivo3<-readLines("en_US.twitter.txt",warn=FALSE, encoding="UTF-8")
tamano3<-file.info("en_US.twitter.txt")$size/1024^2
tamano3
## [1] 159.3641
lineas3<-length(archivo3)
lineas3
## [1] 2360148
Carteres3<-sum(nchar(archivo3))
Carteres3
## [1] 162096031
palabras3<-sum(stri_count_words(archivo3))
palabras3
## [1] 30093372

##visualizar los datos en un datafreme

data.frame(archivo=c("blog","new","twitter"),
tamano=c(tamano1,tamano2,tamano3),
lineas = c(lineas1,lineas2,lineas3),
caracteres= c(carteres1,carteres2,Carteres3),
Palabras= c(palabras1,palabras2,palabras3))
##   archivo   tamano  lineas caracteres Palabras
## 1    blog 200.4242  899288  206824505 37546239
## 2     new 196.2775   77259   15639408  2674536
## 3 twitter 159.3641 2360148  162096031 30093372

#tomando el uno porciento de la data original

sample_data <-c(sample(archivo1,length(archivo1)*0.01),
                sample(Archivo2,length(Archivo2)*0.01),
                sample(archivo3,length(archivo3)*0.01))

limpiamdo la data

corpus<-VCorpus(VectorSource(sample_data))
corpus1<-tm_map(corpus,removePunctuation)
corpus2<-tm_map(corpus,stripWhitespace)
corpus3<-tm_map(corpus,tolower)
corpus4<-tm_map(corpus,removeNumbers)
corpus5<-tm_map(corpus,PlainTextDocument)
corpus6<-tm_map(corpus,removeWords,stopwords("english"))

#creando matrix de documentos

library("RWeka")


one <- function(x)
        unlist(lapply(ngrams(words(x), 1), paste, collapse = " "), use.names = FALSE)

tabla1 <- TermDocumentMatrix(corpus6,control = list(tokenize = one))
tabla1
## <<TermDocumentMatrix (terms: 79836, documents: 33365)>>
## Non-/sparse entries: 377629/2663350511
## Sparsity           : 100%
## Maximal term length: 102
## Weighting          : term frequency (tf)
dos <- function(x)
        unlist(lapply(ngrams(words(x), 1), paste, collapse = " "), use.names = FALSE)

tabla2 <- TermDocumentMatrix(corpus6,control = list(tokenize = dos))
tabla2
## <<TermDocumentMatrix (terms: 79836, documents: 33365)>>
## Non-/sparse entries: 377629/2663350511
## Sparsity           : 100%
## Maximal term length: 102
## Weighting          : term frequency (tf)
tres <- function(x)
        unlist(lapply(ngrams(words(x), 1), paste, collapse = " "), use.names = FALSE)

tabla3 <- TermDocumentMatrix(corpus6,control = list(tokenize = tres))
tabla3
## <<TermDocumentMatrix (terms: 79836, documents: 33365)>>
## Non-/sparse entries: 377629/2663350511
## Sparsity           : 100%
## Maximal term length: 102
## Weighting          : term frequency (tf)

#Encontrando la frecuencias de los terminos en las matrices

one_corpus<-findFreqTerms(tabla1,lowfreq=50)
dos_corpus<-findFreqTerms(tabla2,lowfreq=50)
tres_corpus<-findFreqTerms(tabla3,lowfreq=50)

one_corpus_num<-rowSums(as.matrix(tabla1[one_corpus,]))
one_corpus_table<-data.frame(palabras=names(one_corpus_num),frequency=one_corpus_num)
one_corpus_sort<-one_corpus_table[order(-one_corpus_table$frequency),]
head(one_corpus_sort)
##      palabras frequency
## the       the      2983
## just     just      2474
## will     will      2195
## like     like      2161
## one       one      1914
## can       can      1896

visualizando la distribucion de las frecuencias en grafico de barras

freq1 <- rowSums(as.matrix(tabla1[one_corpus,]))
freq1 <- data.frame(word=names(freq1),frequency=freq1)
plotthegraph <- function(data,title,num){
        df <- data[order(-data$frequency),][1:num,]
        barplot(df[1:num,]$freq, las = 2, names.arg = df[1:num,]$word,
                col ="blue", main = title,
                ylab = "Frequencies",cex.axis =0.8)
}
par(mar=c(10,4,4,2))
plotthegraph(freq1,"Unigrams",10)

freq2 <- rowSums(as.matrix(tabla2[dos_corpus,]))
freq2 <- data.frame(word=names(freq2),frequency=freq2)
plotthegraph <- function(data,title,num){
        df <- data[order(-data$frequency),][1:num,]
        barplot(df[1:num,]$freq, las = 2, names.arg = df[1:num,]$word,
                col ="blue", main = title,
                ylab = "Frequencies",cex.axis =0.8)
}
par(mar=c(10,4,4,2))
plotthegraph(freq2,"Bigrams",10)

```