| Title: | Visual Data Analysis 'RStudio' 'Addin' with AI Copilot |
| Version: | 0.1.1 |
| Description: | An 'RStudio' 'addin' providing a visual, point-and-click interface for data manipulation and analysis, designed for users transitioning from 'SPSS' to R. Every visual action generates clean, reproducible R code using 'tidyverse' conventions ('dplyr', 'tidyr'). Includes a context-aware AI copilot supporting multiple 'LLM' providers ('OpenAI', 'Anthropic' Claude, 'Google Gemini') with built-in proxy support and privacy controls. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| VignetteBuilder: | knitr |
| Depends: | R (≥ 4.1.0) |
| Imports: | shiny (≥ 1.7.0), rstudioapi (≥ 0.13), bslib (≥ 0.5.0), htmltools, DT (≥ 0.28), dplyr (≥ 1.1.0), readxl (≥ 1.4.0), jsonlite (≥ 1.8.0), httr2 (≥ 0.2.3), glue (≥ 1.6.0), rlang (≥ 1.1.0), DBI (≥ 1.1.0), tools, stats, utils |
| Suggests: | testthat (≥ 3.0.0), knitr, rmarkdown, haven, readr, writexl, RPostgres, RMySQL, ROracle, RSQLite, odbc |
| Config/testthat/edition: | 3 |
| URL: | https://github.com/facszero/rvisual |
| BugReports: | https://github.com/facszero/rvisual/issues |
| NeedsCompilation: | no |
| Packaged: | 2026-08-28 14:49:25 UTC; fcanete |
| Author: | Fernando Cañete [aut, cre] |
| Maintainer: | Fernando Cañete <facs.zero@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-09 16:50:02 UTC |
rvisual: Visual Data Analysis 'RStudio' 'Addin' with AI Copilot
Description
Punto central de importFrom a nivel paquete. No define funciones propias; existe para declarar dependencias usadas via NSE (rlang) o via base/stats/utils sin prefijo explicito en el codigo interno, evitando el NOTE de R CMD check "no visible global function definition".
Author(s)
Maintainer: Fernando Cañete facs.zero@gmail.com
See Also
Useful links:
Capa de Integracion con IA
Description
Usa curl directamente para mayor compatibilidad con proxies corporativos. Enviar prompt al proveedor de IA configurado
Usage
ai_send(cfg, system_prompt, user_prompt)
Arguments
cfg |
Lista de configuracion (provider, api_key, model, etc.). |
system_prompt |
Prompt de sistema (contexto/instrucciones). |
user_prompt |
Prompt del usuario. |
Value
Lista con text (respuesta completa) y code
(bloque de codigo R extraido de la respuesta, si existe).
Probar la conexion con el proveedor de IA configurado
Description
Probar la conexion con el proveedor de IA configurado
Usage
ai_test_connection(cfg)
Arguments
cfg |
Lista de configuracion (provider, api_key, model, etc.). |
Value
Lista con success (logical) y message (detalle).
Aplicar stack de operaciones a un data.frame
Description
Ejecuta secuencialmente una lista de operaciones sobre un data.frame, retornando el resultado transformado.
Usage
apply_operations(df, ops)
Arguments
df |
Data.frame base. |
ops |
Lista de operaciones generadas por las funciones |
Value
Data.frame transformado.
Construir el contexto para el asistente IA a partir del dataset activo
Description
Construir el contexto para el asistente IA a partir del dataset activo
Usage
build_ai_context(df, df_name, ops, include_rows = FALSE)
Arguments
df |
Data.frame activo. |
df_name |
Nombre del dataset activo. |
ops |
Lista de operaciones ya aplicadas (stack del builder). |
include_rows |
Logical; si es TRUE incluye una muestra de filas en el contexto enviado a la IA. |
Value
Lista de contexto usada por build_system_prompt().
Construir el prompt de sistema para el asistente IA
Description
Construir el prompt de sistema para el asistente IA
Usage
build_system_prompt(ctx)
Arguments
ctx |
Lista de contexto construida por |
Value
String con el prompt de sistema completo.
Generador de Codigo R
Description
Convierte un stack de operaciones en codigo R limpio usando tidyverse.
Usa el pipe nativo |> disponible desde R 4.1.
Configuracion persistente y historial de sesion
Description
Funciones para guardar/cargar configuracion del usuario (proveedor IA, API keys, preferencias) y registrar eventos durante la sesion.
Details
La configuracion se guarda en un archivo JSON en el directorio de datos
del usuario (ver R_user_dir).
Cargar configuracion guardada
Description
Cargar configuracion guardada
Usage
config_load()
Value
Lista de configuracion, o lista vacia si no existe.
Guardar configuracion del usuario
Description
Guardar configuracion del usuario
Usage
config_save(cfg)
Arguments
cfg |
Lista con los campos de configuracion. |
Value
Invisiblemente cfg.
Descubrimiento de datasets y extraccion de metadatos
Description
Funciones para detectar data.frames en el entorno global, extraer metadatos estructurados y cargar archivos de datos.
Cargar ultima configuracion de BD para un motor
Description
Cargar ultima configuracion de BD para un motor
Usage
db_config_load(tipo)
Modulo: Conexion a Base de Datos
Description
Permite conectarse a PostgreSQL, MySQL, SQL Server, Oracle, SQLite y DB2 y cargar tablas como datasets activos en RVisual. Guardar ultima configuracion de BD para un motor
Usage
db_config_save(
tipo,
host,
port,
dbname,
user,
oracle_service = NULL,
oracle_conn_type = NULL,
driver_name = NULL
)
Listar data.frames en el entorno global
Description
Listar data.frames en el entorno global
Usage
discover_datasets()
Value
Lista de listas, cada una con name, nrow, ncol.
Generar codigo R desde un stack de operaciones
Description
Generar codigo R desde un stack de operaciones
Usage
generate_code(df_name, ops, assign_to = NULL, source = NULL)
Arguments
df_name |
Nombre del objeto R que contiene el dataset. |
ops |
Lista de operaciones generadas por las funciones |
assign_to |
Si no es |
source |
Lista con metadatos del origen del dataset (ver
|
Value
String con codigo R formateado y listo para ejecutar.
Generar el paso de carga de datos para que el codigo sea standalone
Description
Convierte los metadatos de origen de un dataset (archivo local, tabla de BD, u objeto que ya existia en el entorno del usuario) en la(s) linea(s) de codigo R necesarias para reproducir esa carga de forma independiente del addin.
Usage
generate_load_step(df_name, source)
Arguments
df_name |
Nombre del objeto R a crear. |
source |
Lista con al menos el campo |
Value
String con el codigo de carga, o NULL si no aplica.
Extraer metadatos de un data.frame
Description
Devuelve informacion sobre dimensiones y tipos de cada columna, util para construir el contexto del Asistente IA y el panel Explorador.
Usage
get_metadata(df, name = "dataset")
Arguments
df |
Data.frame a analizar. |
name |
Nombre del objeto para display. |
Value
Lista con name, nrow, ncol y columns
(data.frame con info de cada variable).
Registrar un evento en el historial de sesion
Description
Registrar un evento en el historial de sesion
Usage
history_log(history, type, detail = list())
Arguments
history |
|
type |
String identificador del tipo de evento. |
detail |
Lista con detalles adicionales del evento. |
Value
Invisiblemente el entry creado.
Lanzar RVisual
Description
Abre la interfaz visual de RVisual como gadget integrado en RStudio o en el browser del sistema.
Usage
launch_rvisual(browser = FALSE)
Arguments
browser |
Logico. Si |
Details
RVisual es un addin para RStudio que permite a usuarios con experiencia en SPSS trabajar con datos en R sin necesidad de escribir codigo manualmente. Toda accion visual genera codigo R limpio y reproducible usando tidyverse.
Value
Invisiblemente NULL. La funcion bloquea la sesion R
mientras la interfaz esta abierta (comportamiento normal de gadgets
Shiny).
Examples
## Not run:
# Abrir en panel Viewer de RStudio
launch_rvisual()
# Abrir en browser (necesario para el Asistente IA)
launch_rvisual(browser = TRUE)
## End(Not run)
Cargar un archivo de datos
Description
Cargar un archivo de datos
Usage
load_file(path, extension)
Arguments
path |
Ruta al archivo. |
extension |
Extension sin punto: "csv", "xlsx", "rds", "sav". |
Value
Data.frame o tibble con los datos cargados.
Modulo: Asistente IA Contextual
Description
Panel de chat con agente IA multi-proveedor. El agente conoce:
El nombre y esquema del dataset activo
Los tipos de columnas
El stack de operaciones actual
Opcionalmente, una muestra limitada de datos
Usage
mod_ai_ui(id)
Arguments
id |
ID del modulo Shiny. |
Details
Modalidad segura: el agente propone codigo y el usuario decide si ejecutarlo.
Value
Un objeto shiny.tag con la UI del asistente IA.
Modulo: Constructor Visual de Operaciones
Description
Modulo: Constructor Visual de Operaciones
Usage
mod_builder_ui(id)
Arguments
id |
ID del modulo Shiny. |
Value
Un objeto shiny.tag con la UI del constructor.
Modulo: Panel de Codigo R Generado
Description
Muestra el codigo R producido por el Constructor en tiempo real. Permite copiar, insertar en script, ejecutar, guardar como .R y exportar el resultado a CSV o Excel.
Usage
mod_code_ui(id)
Arguments
id |
ID del modulo Shiny. |
Value
Un objeto shiny.tag con la UI del panel de codigo.
Modulo: Configuracion
Description
Pantalla de configuracion del addin. Permite gestionar proveedores IA, API keys, modelos y preferencias.
Usage
mod_config_ui(id)
Arguments
id |
ID del modulo Shiny. |
Value
Un objeto shiny.tag con la UI de configuracion.
Server del modulo de conexion a base de datos
Description
Server del modulo de conexion a base de datos
Usage
mod_db_server(
id,
active_dataset,
active_name,
datasets_rv,
active_source = NULL
)
Arguments
id |
ID del modulo Shiny. |
active_dataset |
reactiveVal para el data.frame activo. |
active_name |
reactiveVal para el nombre del dataset activo. |
datasets_rv |
reactiveValues con la lista de datasets cargados. |
active_source |
reactiveVal opcional con metadata de origen del dataset activo (ver code_generator.R). |
Value
NULL (efectos secundarios sobre los reactiveVal recibidos).
UI del modulo de conexion a base de datos
Description
UI del modulo de conexion a base de datos
Usage
mod_db_ui(id)
Arguments
id |
ID del modulo Shiny. |
Value
Un objeto shiny.tag con el formulario de conexion.
Modulo: Explorador de datos
Description
Vista tabular interactiva del dataset activo. Incluye:
Tabla paginada con DT
Resumen de columnas con tipos detectados
Estadisticas rapidas por variable
Busqueda de variables
Usage
mod_explorer_ui(id)
Arguments
id |
ID del modulo Shiny. |
Value
Un objeto shiny.tag con la UI del explorador.
Renderizar historial como tabla HTML (para modal)
Description
Renderizar historial como tabla HTML (para modal)
Usage
mod_history_ui_inline(history_list)
Arguments
history_list |
Lista de eventos del historial. |
Value
Objeto UI de Shiny.
Crear operacion: ordenar
Description
Crear operacion: ordenar
Usage
op_arrange(col, desc = FALSE)
Arguments
col |
Nombre de la columna por la que ordenar. |
desc |
Logico. Si |
Value
Lista de operacion con type="arrange".
Crear operacion: filtrar registros
Description
Crear operacion: filtrar registros
Usage
op_filter(col, op, value)
Arguments
col |
Nombre de la columna a filtrar. |
op |
Operador de comparacion: "==", "!=", ">", "<", ">=", "<=". |
value |
Valor de comparacion. |
Value
Lista de operacion con type="filter".
Examples
op <- rvisual:::op_filter("anio", "==", 2024)
Crear operacion: agrupar y resumir
Description
Crear operacion: agrupar y resumir
Usage
op_group_summarise(group_cols, summary_fns)
Arguments
group_cols |
Character vector de columnas de agrupacion. |
summary_fns |
Lista nombrada donde cada elemento define una
funcion de resumen: |
Value
Lista de operacion con type="group_summarise".
Crear operacion: unir tablas
Description
Crear operacion: unir tablas
Usage
op_join(right_df_name, by_cols, join_type = "left")
Arguments
right_df_name |
Nombre del segundo data.frame (debe existir en
|
by_cols |
Character vector con las columnas clave del join. |
join_type |
Tipo de join: "left", "right", "inner", "full". |
Value
Lista de operacion con type="join".
Crear operacion: nueva variable (mutate)
Description
Crear operacion: nueva variable (mutate)
Usage
op_mutate(new_col, expression)
Arguments
new_col |
Nombre de la nueva columna. |
expression |
Expresion R como string (ej: "Precio * Cantidad"). |
Value
Lista de operacion con type="mutate".
Crear operacion: recodificar valores
Description
Crear operacion: recodificar valores
Usage
op_recode(col, mapping)
Arguments
col |
Nombre de la columna a recodificar. |
mapping |
Lista nombrada con los reemplazos:
|
Value
Lista de operacion con type="recode".
Crear operacion: renombrar columna
Description
Crear operacion: renombrar columna
Usage
op_rename(old_name, new_name)
Arguments
old_name |
Nombre actual de la columna. |
new_name |
Nuevo nombre. |
Value
Lista de operacion con type="rename".
Crear operacion: seleccionar columnas
Description
Crear operacion: seleccionar columnas
Usage
op_select(cols)
Arguments
cols |
Character vector con los nombres de columnas a conservar. |
Value
Lista de operacion con type="select".
Examples
op <- rvisual:::op_select(c("nombre", "edad", "ingreso"))
Motor de Operaciones Visuales
Description
Define la representacion estructurada intermedia de las operaciones que el usuario construye visualmente en el Constructor.
Details
Cada operacion es una lista R con campos tipados:
- type
Tipo: select, filter, arrange, group_summarise, mutate, rename, recode, join
- label
Descripcion legible para mostrar en la UI
- params
Lista nombrada con parametros especificos del tipo
- created_at
Timestamp de creacion
Obtener el path del script activo en RStudio
Description
Obtener el path del script activo en RStudio
Usage
rstudio_active_script_path()
Value
String con la ruta del documento activo, o NULL.
Integracion con RStudio
Description
Funciones para interactuar con el IDE de RStudio desde el addin: insertar codigo, leer el script activo, ejecutar en la consola.
Insertar codigo en el script activo de RStudio
Description
Insertar codigo en el script activo de RStudio
Usage
rstudio_insert_code(code)
Arguments
code |
String con el codigo R a insertar en la posicion del cursor. |
Value
Invisiblemente NULL.
Ejecutar codigo en la consola de RStudio
Description
Ejecutar codigo en la consola de RStudio
Usage
rstudio_run_in_console(code)
Arguments
code |
String con el codigo R a ejecutar. |
Value
Invisiblemente NULL.
Entorno interno donde RVisual almacena los datasets activos durante la sesion del addin.
Description
Entorno interno donde RVisual almacena los datasets activos durante la sesion del addin.
Usage
rvisual_env()
Value
El entorno interno (environment) usado para assign()/get()
de datasets mientras la app Shiny esta activa. Nunca es .GlobalEnv.
Server principal de RVisual
Description
Orquesta todos los modulos Shiny.
El estado compartido entre modulos se gestiona a traves de reactives
pasados como argumentos - no mediante variables globales.
Usage
rvisual_server(input, output, session)
Arguments
input, output, session |
Parametros estandar de Shiny server |
UI principal de RVisual
Description
Define la interfaz Shiny completa del addin. Estructura en 6 paneles navegables via sidebar.
Usage
rvisual_ui()
Value
Un objeto shiny.tag con la UI completa