Gráfico de precios

La línea sube y baja, lo que indica que no hay un tendencia constante de precios; hay hoteles baratos y caros distribuidos a lo largo del listado.

Histograma y Boxplot de precios

Se observa una concentración de precios bajos, especialmente entre 50 y 70 USD, lo cual sugiere que muchos alojamientos económicos están disponibles.
Hay precios más altos que generan la distribución hacia la derecha, aunque son menos frecuentes.
El promedio (91.80 USD) está ligeramente por debajo del valor del tercer cuartil (110.42).

El 50% central de los precio va del 1er cuartil (60.80) al 3er cuartil (110.42).
Línea dentro de la caja: La mediana (92.59), ligeramente desplazada hacia el extremo inferior, lo que indica una leve concentración de precios bajos.
Extremos (bigotes): Se extienden hacia el mínimo (52.21) y el máximo (159.20).
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   52.21   60.80   92.59   91.80  110.42  159.20
Hay bastante variación: los precios van desde $52.21 hasta $159.20.
La media (~91.8) está muy cerca de la mediana (~92.6) lo que sugiere que la distribución es más o menos simétrica.
El rango intercuartílico (Q3 - Q1) es de 49.62 USD, indicando dispersión en el 50% central de los hoteles.
Puede haber algunos precios altos que estiran el máximo, pero no son extremos exagerados.

Análisis de texto: TÍTULOS

booking_1 <- booking$articulo
booking_1 <- iconv(booking_1, to = "ASCII", sub = "")  
booking_1 <- gsub("(RT|via)((?:\\b\\W*@\\w+)+)", "", booking_1)  
booking_1 = gsub("http.+ |http.+$", " ", booking_1)  
booking_1 = gsub("http[[:alnum:]]*", "", booking_1)
booking_1 = gsub("[[:punct:]]", " ", booking_1) 
booking_1 = gsub("[ |\t]{2,}", " ", booking_1) 
booking_1 = gsub("^ ", "", booking_1) 
booking_1 = gsub(" $", "", booking_1)  
booking_1 = gsub(" +", " ", booking_1) 
booking_1 = gsub("[[:cntrl:]]", " ", booking_1) 
booking_1 = tolower(booking_1) 
booking_1 = removeWords(booking_1, words = stopwords("spanish"))
booking_1 = removePunctuation(booking_1)
booking_1 = removeNumbers(booking_1)
booking_1 = stripWhitespace(booking_1)
booking_1 = unique(booking_1)

corpus <- Corpus(VectorSource(booking_1))
### limpieza usando la libreria TM
corpus <- tm_map(corpus, removeWords, stopwords("spanish"))  
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, stemDocument)

#Nube de Palabras
dtm = DocumentTermMatrix(corpus)
matrix <- as.matrix(dtm) 
words <- sort(rowSums(matrix),decreasing=TRUE) 
####
doc.length = apply(dtm, 1, sum)
dtm = dtm[doc.length > 7,]
#dtm
freq = colSums(as.matrix(dtm))
#length(freq)
ord = order(freq, decreasing = TRUE)

# Palabras Frecuentes y Word Cloud
plot = data.frame(words = names(freq), count = freq)
plot = subset(plot, plot$count > 1)
Las palabras Mexico y Hotel son las que muentran mayor repetición, teniendo 12 cada uno y ciudad con 8.

Análisis de texto: DESCRIPCIONES

# Limpieza del texto, removiendo carácteres especiales
booking_2 <- booking$descripcion
booking_2 <- iconv(booking_2, to = "ASCII", sub = "")  
booking_2 <- gsub("(RT|via)((?:\\b\\W*@\\w+)+)", "", booking_2)   
booking_2 = gsub("http.+ |http.+$", " ", booking_2) 
booking_2 = gsub("http[[:alnum:]]*", "", booking_2)
booking_2 = gsub("[[:punct:]]", " ", booking_2)  
booking_2 = gsub("[ |\t]{2,}", " ", booking_2)  
booking_2 = gsub("^ ", "", booking_2)  
booking_2 = gsub(" $", "", booking_2)  
booking_2 = gsub(" +", " ", booking_2) 
booking_2 = gsub("[[:cntrl:]]", " ", booking_2) 
booking_2 = tolower(booking_2)
booking_2 = removeWords(booking_2, words = stopwords("spanish"))
booking_2 = removePunctuation(booking_2)
booking_2 = removeNumbers(booking_2)
booking_2 = stripWhitespace(booking_2)
# booking_2 = unique(booking_2)

corpus2 <- Corpus(VectorSource(booking_2))
# limpieza usando la libreria
corpus2 <- tm_map(corpus2, removeWords, stopwords("spanish"))  
corpus2 <- tm_map(corpus2, removeNumbers)
corpus2 <- tm_map(corpus2, stemDocument)

# Nube de Palabras
dtm2 = DocumentTermMatrix(corpus2)
matrix2 <- as.matrix(dtm2) 
words2 <- sort(rowSums(matrix2),decreasing=TRUE) 

doc.length2 = apply(dtm2, 1, sum)
dtm2 = dtm2[doc.length2 >= 1,]  

freq2 = colSums(as.matrix(dtm2))
ord2 = order(freq2, decreasing = TRUE)  

# Palabras Frecuentes y Word Cloud
plot2 = data.frame(words = names(freq2), count = freq2)
plot2 = subset(plot2, plot2$count >= 1)
Las palabras Ciudad y mxico son las que muentran mayor repetición, teniendo 11 cada uno y hotel con 9. Las demas palabras menos de 5 repeticiones