#install.packages("readxl")
#install.packages("dplyr")
#install.packages("ggplot2")
#install.packages("scales")
#install.packages("tm")
#install.packages("wordcloud")
#install.packages("RColorBrewer")
library(readxl)
library(dplyr)
library(ggplot2)
library(scales)
library(tm)
library(wordcloud)
library(RColorBrewer)
# Cargar los datos desde el archivo Excel
file_path <- "Uso de la IA en las Carreras de Ingeniería en la UPES.xlsx"
data <- read_excel(file_path, sheet = "Respuestas de formulario 1")
# Mostrar las primeras filas de los datos
head(data)
## # A tibble: 6 × 12
## `Carrera de Ingeniería:` `Año de estudio` 1. ¿Cuánto conoces sobre Inteligen…¹
## <chr> <dbl> <chr>
## 1 ing.Cc 2 Moderado
## 2 ing.Cc 1 Poco
## 3 ing. Civil 2 Moderado
## 4 ing. Civil 2 Nada
## 5 ing. Civil 1 Poco
## 6 ing. Industrial 2 Poco
## # ℹ abbreviated name:
## # ¹`1. ¿Cuánto conoces sobre Inteligencia Artificial (IA) y sus aplicaciones en la ingeniería?`
## # ℹ 9 more variables:
## # `2. ¿Has utilizado herramientas o software basado en IA en tus proyectos de ingeniería?` <chr>,
## # `3. ¿Cuáles son tus principales preocupaciones sobre la integración de IA en la ingeniería?1. (Puedes elegir más de una opción)` <chr>,
## # `4. ¿Cuáles consideranque son los beneficios mas significativos de utilizar IA en la ingeniería?` <chr>,
## # `6. ¿Cómo crees que la IA influirá en el futuro de la educación y formación en ingeniería?` <chr>, …
# Análisis exploratorio
# 1. Distribución de los estudiantes por carrera y año de estudio
distribucion_carrera <- data %>%
group_by(`Carrera de Ingeniería:`, `Año de estudio`) %>%
summarise(Conteo = n()) %>%
mutate(Porcentaje = Conteo / sum(Conteo) * 100)
# Visualización de la distribución
ggplot(distribucion_carrera, aes(x = `Carrera de Ingeniería:`, y = Porcentaje, fill = `Año de estudio`)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), position = position_dodge(width = 0.9), vjust = -0.5) +
labs(title = "Distribución de estudiantes por carrera y año de estudio",
x = "Carrera de Ingeniería",
y = "Porcentaje de estudiantes") +
theme_minimal()

# 2. Nivel de conocimiento sobre IA
nivel_conocimiento <- data %>%
group_by(`1. ¿Cuánto conoces sobre Inteligencia Artificial (IA) y sus aplicaciones en la ingeniería?`) %>%
summarise(Conteo = n()) %>%
mutate(Porcentaje = Conteo / sum(Conteo) * 100)
# Visualización del nivel de conocimiento sobre IA
ggplot(nivel_conocimiento, aes(x = `1. ¿Cuánto conoces sobre Inteligencia Artificial (IA) y sus aplicaciones en la ingeniería?`, y = Porcentaje)) +
geom_bar(stat = "identity") +
geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), vjust = -0.5) +
labs(title = "Nivel de conocimiento sobre IA",
x = "Nivel de conocimiento",
y = "Porcentaje de estudiantes") +
theme_minimal()

# 3. Uso de herramientas o software basado en IA en proyectos de ingeniería
uso_IA <- data %>%
group_by(`2. ¿Has utilizado herramientas o software basado en IA en tus proyectos de ingeniería?`) %>%
summarise(Conteo = n()) %>%
mutate(Porcentaje = Conteo / sum(Conteo) * 100)
# Visualización del uso de herramientas o software basado en IA
ggplot(uso_IA, aes(x = `2. ¿Has utilizado herramientas o software basado en IA en tus proyectos de ingeniería?`, y = Porcentaje)) +
geom_bar(stat = "identity") +
geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), vjust = -0.5) +
labs(title = "Uso de herramientas o software basado en IA en proyectos de ingeniería",
x = "Uso de IA",
y = "Porcentaje de estudiantes") +
theme_minimal()

# 4. Interés en participar en un curso o taller sobre IA aplicada a la ingeniería
interes_curso <- data %>%
group_by(`11. ¿Te interesaría participar en un curso o taller sobre IA aplicada a la ingeniería?`) %>%
summarise(Conteo = n()) %>%
mutate(Porcentaje = Conteo / sum(Conteo) * 100)
# Visualización del interés en cursos o talleres sobre IA
ggplot(interes_curso, aes(x = `11. ¿Te interesaría participar en un curso o taller sobre IA aplicada a la ingeniería?`, y = Porcentaje)) +
geom_bar(stat = "identity") +
geom_text(aes(label = paste0(round(Porcentaje, 1), "%")), vjust = -0.5) +
labs(title = "Interés en cursos o talleres sobre IA aplicada a la ingeniería",
x = "Interés",
y = "Porcentaje de estudiantes") +
theme_minimal()

#Análisis Cualitativo de la pregunta: ¿En qué áreas específicas de la ingeniería crees que la IA podría tener el mayor impacto?
# Crear un vector con las respuestas de la pregunta 5
respuestas <- c("Desarrollo de codigos", "sistemas", "Diseño y calculo de estructuras",
"Ingenieria en sistemas", "Producción industrial", "En la aera de produccion y calidad",
"Diseño, electrica circuitos para control.", "En todas", "Contrucción",
"En la mecánica automotriz y la informática", "Tecnología bi", "En el diseño y cálculos",
"En la educación", "En el área de computación y sistemas", "Ingeniería en sistemas",
"En el area de programacion y ciberseguridad puede tener mayor impacto",
"En los diseños", "Calculos", "Áreas informáticas", "Todas", "Medidas topográficas",
"En cálculos matemáticos y físicos", "Si", "Todo lo relacionado con máquinas de uso industrial y sistemas computacionales",
"Sobre todo en la capacidad de generar contenido orientado a la enseñanza y capacitación.",
"Programación y automatización.", "Nose",
"La inteligencia artificial ofrece importantes ventajas en las carreras de ingeniería de sistemas, como una automatización eficiente y una mejor toma de decisiones. Sin embargo, también hay desafíos importantes a considerar, como el desplazamiento laboral y las cuestiones éticas",
"Ingenieria en computación")
# Convertir el vector de respuestas a un Corpus
corpus <- Corpus(VectorSource(respuestas))
# Limpiar el texto
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, removeWords, stopwords("spanish"))
corpus <- tm_map(corpus, stripWhitespace)
# Crear una matriz de términos
dtm <- TermDocumentMatrix(corpus)
m <- as.matrix(dtm)
word_freqs <- sort(rowSums(m), decreasing=TRUE)
df <- data.frame(word=names(word_freqs), freq=word_freqs)
# Crear la nube de palabras
set.seed(1234) # para reproducibilidad
wordcloud(words = df$word, freq = df$freq, min.freq = 1,
max.words = 100, random.order = FALSE, rot.per = 0.35,
colors = brewer.pal(8, "Dark2"))

# Mostrar las 10 palabras más frecuentes
head(df, 10)
## word freq
## sistemas sistemas 6
## diseño diseño 3
## ingenieria ingenieria 2
## industrial industrial 2
## todas todas 2
## cálculos cálculos 2
## computación computación 2
## ingeniería ingeniería 2
## automatización automatización 2
## importantes importantes 2