Ejecución de scripts R
Concept Information
Analice una tabla de Analytics en un script R externo y a continuación devuelva los datos desde R para crear una nueva tabla en el proyecto de Analytics. Los datos de origen se pasan a R como un marco de datos al que puede hacer referencia utilizando una función provista.
Trabajar con estudios analíticos de datos en R
Si está preparando el script R para ejecutarlo desde Analytics, familiarícese con la manera en la que se intercambian los datos entre Analytics y R. Debe utilizar las funciones Rvachev provistas por Analytics en el script R para ejecutar correctamente el comando RCOMMAND.
Referencia a los datos de Analytics en el script R
La tabla de Analytics se pasa al script como un marco de datos R. Los marcos de datos son objetos de datos tabulares que pueden contener columnas de diferentes modos o tipos de datos.
Para trabajar con el marco de datos creado por Analytics en un script R, invoque la función acl.readData() y almacene el marco de datos que obtenga en una variable:Analytics
# almacena la tabla de Analytics en un marco de datos denominado myTable al que se puede hacer referencia a lo largo del script
myTable<-acl.readData()
Para recuperar datos de una celda del marco de datos, puede utilizar uno de los siguientes enfoques:
-
Uso de coordenadas de fila y columna:
# Devuelve el valor de la primera fila y la segunda columna del marco de datos
myTable[1,2]Nota
Las coordenadas se basan en el orden de los campos especificados en el comando, no en la vista o el formato de la tabla actualmente abierta.
-
Uso de nombres de fila y columna:
# Devuelve el valor de la primera fila y la columna "myColumnTitle" del marco de datos
myTable["1","myColumnTitle"]Debe especificar la opción KEEPTITLE del comando para usar los nombres de las columnas.
Las filas se denominan "1", "2", "3" y se incrementan de conformidad. También puede utilizar una combinación de nombres y coordenadas.
Paso de datos de regreso a Analytics
Para devolver una matriz o un marco de datos a Analytics y crear una tabla nueva, utilice la siguiente sintaxis:
# Pasa el marco de datos myNewTable nuevamente a Analytics para crear una nueva tabla
acl.output<-myNewTable
Nota
Debe regresar una matriz o un marco de datos a Analytics cuando finaliza el script R. Asegúrese de que las columnas de la matriz o el marco de datos contengan únicamente valores atómicos y no listas, matrices, estructuras u objetos no atómicos. Si no es posible traducir los valores a tipos de datos de Analytics, el comando arroja un error.
Asignación de datos de R
Los tipos de datos de Analytics se traducen en tipos de datos R utilizando un proceso de traducción entre el proyecto de ACL y el script R:
| Tipo de datos de Analytics | Tipo(s) de datos R |
|---|---|
| Lógico | Lógico |
| Numérico | Numérico |
| Carácter | Carácter |
| Fechahora | Fecha, POSIXct, POSIXlt |
Rendimiento y límites del tamaño de archivo
El tiempo que lleva ejecutar su script R y procesar los datos que se devuelven aumenta para los datos de entrada que superan 1 GB. R no admite archivos de entrada de 2 GB o de mayor tamaño.
La cantidad de registros que se envían a R también afecta el rendimiento. Si se procesan dos tablas con el mismo tamaño de archivo pero una cantidad de registros diferentes, el procesamiento de la tabla con menos registros se realiza más rápido.
Manejo de datos de caracteres de varios bytes
Si está enviando datos a R en un conjunto de caracteres de varios bytes, como en chino, debe establecer la configuración regional apropiadamente en su script R. Para enviar con éxito una tabla de datos de varios bytes a R, la primera línea del script R debe contener la siguiente función:
# Ejemplo que establece la configuración regional al chino
Sys.setlocale("LC_ALL","Chinese")
Si desea obtener más información sobre Sys.setlocale( ), consulte la documentación R.
Ejemplo Hola mundo
Comando de Analytics
RCOMMAND FIELDS "Hello", ", world!" TO "r_resultado" RSCRIPT "C:\scripts\r_scripts\analysis.r"
Script R (analysis.r)
srcTable<-acl.readData()
# crear tabla para enviar nuevamente a ACL
output<-data.frame(
c(srcTable[1,1]),
c(srcTable[1,2])
)
# agregar columna y enviar la tabla nuevamente a ACL
colnames(output) <- c("Greeting","Subject")
acl.output<-output
Ejecutar un script R
- Desde el menú principal, seleccione Analizar > R.
Se abre el cuadro de diálogo RCOMMAND.
- Junto al campo R Script, haga clic en Examinar y vaya al script R que desea ejecutar en su computadora.
- Haga clic en Seleccione campos y agregue uno o más campos para incluirlos en el marco de datos que Analytics pone a disposición en el script R.
Consejo
También puede incluir expresiones como campos en el marco de datos. Para crear una expresión, haga clic en Expr y utilice las funciones, los campos y los operadores que tiene a su disposición en el cuadro de diálogo. Si desea obtener más información, consulte Descripción general del Generador de expresiones.
- Opcional. En la sección Opciones de RCommand, defina de qué manera desea enviar los datos de Analytics al script R.
Si desea obtener más información, consulte Opciones de RCOMMAND.
- Opcional. Para filtrar los registros que se envían al script R, haga clic en Si y use el cuadro de diálogo Generador de expresiones para crear una expresión condicional y usarla como el filtro.
Si desea obtener más información sobre la creación de expresiones con el Generador de expresiones, consulte Crear expresiones utilizando el Generador de expresiones.
- Para especificar la tabla de salida, haga clic en En y en el campo Nombre de archivo, escriba un nombre para la tabla y el archivo .FIL asociado.
Utilice el explorador de carpetas para ir a la carpeta que desea usar para almacenar el archivo de datos de origen.
Nota
Los nombres de las tablas de Analytics tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.
- Opcional. En la ficha Más del cuadro de diálogo, especifique cualquier opción de alcance para el comando.
Si desea obtener más información, consulte Ficha Más.
- Para ejecutar el comando, haga clic en Aceptar.
Se abren las opciones del cuadro de diálogo RCOMMAND
Opciones de RCOMMAND
| Opción | Descripción |
|---|---|
| Exportar con nombres de campo | Utilice los títulos de las columnas de la tabla de origen de Analytics como valores de encabezado para el marco de datos de R. Esta ajusta la opción KEEPTITLE del comando de la forma necesaria si desea recuperar los datos utilizando los nombres de las columnas en el script R. |
| Separador de columna | El carácter que se debe usar como separador entre campos al enviar datos a R. |
| Calificador de texto |
El carácter que se debe usar como calificador de texto para identificar los valores de los campos al enviar datos a R. |
Ficha Más
| Opción | Descripción |
|---|---|
| Todo | Procesa todos los registros de la vista (selección predeterminada). |
| Primeros | Procesa desde el primer registro de la tabla e incluye únicamente la cantidad especificada de registros. |
| Siguiente |
Procesa desde el registro actualmente seleccionado en la tabla e incluye únicamente la cantidad especificada de registros. Nota El número de registros especificados en las opciones Primero o Siguiente hace referencia tanto al orden físico o al orden indexado de registros en una tabla, y hace caso omiso de cualquier filtrado u ordenación rápida aplicados a la vista. Sin embargo, los resultados de las operaciones analíticas respetan cualquier filtrado. Si a una vista se aplica ordenación rápida, Siguiente se comporta como Primero. ¡Precaución! Existe un problema conocido en la versión actual con Next al ejecutar RCOMMAND. Evite usar esta opción ya que la referencia al registro puede regresar al primer registro sin importar qué registro se seleccione. |
| Mientras |
Utiliza un enunciado WHILE para limitar el procesamiento de registros en la tabla principal basándose en un criterio. Los registros de la vista se procesan únicamente mientras la condición especificada se evalúe como verdadera. Tan pronto como la condición se evalúa como falsa, el procesamiento termina, y no se consideran más registros. Si desea obtener más información, consulte Crear expresiones utilizando el Generador de expresiones. |