Executar scripts do R
Informações do conceito
Analise uma tabela do Analytics em um script do R externo e, em seguida, retorne os dados de R para criar uma nova tabela no projeto do Analytics. Os dados de origem são passados para o R como um dataframe ao qual você pode fazer referência usando uma função fornecida.
Trabalhar com dados do Analytics em R
Se você estiver preparando o script do R para ser executado a partir do Analytics, é importante se familiarizar com as maneiras que os dados são transferidos entre o Analytics e o R. É necessário usar as funções de R fornecidas pelo Analytics no seu script do R para executar o comando RCOMMAND.
Referência aos dados do Analytics no script do R
A tabela do Analytics é passada ao script como um quadro de dados do R. Os quadros de dados são objetos de dados tabulares que podem conter colunas com modos ou tipos diferentes de dados.
Para trabalhar com o quadro de dados criado pelo Analytics em um script do R, chame a função acl.readData() e armazene o quadro de dados retornado em uma variável:
# armazena a tabela do Analytics em um quadro de dados denominado minhaTabela que pode ser referenciado em todo o script
minhaTabela<-acl.readData()
Para recuperar dados de uma célula na estrutura de dados, você pode usar uma das seguintes abordagens:
-
Uso de coordenadas de linha e coluna:
# Recupera o valor da primeira linha e segunda coluna do quadro de dados
minhaTabela[1,2]Nota
As coordenadas são baseadas na ordem de campos especificada no comando e não no layout da tabela ou na exibição aberta no momento.
-
Uso de nomes de linha e coluna:
# Recupera o valor da primeira linha e da coluna "títuloMinhaColuna" do quadro de dados
minhaTabela["1","títuloMinhaColuna"]É necessário especificar a opção KEEPTITLE do comando para usar nomes de colunas.
As linhas são chamadas de "1", "2", "3" e são incrementadas de acordo. Você também pode usar uma combinação de nomes e coordenadas.
Transferência de dados de volta para o Analytics
Para retornar um quadro de dados ou matriz ao Analytics e criar uma nova tabela, use a sintaxe a seguir:
# Passa o dataframe minhaNovaTabela para o Analytics para criar uma nova tabela
acl.output<-minhaNovaTabela
Nota
É necessário retornar um quadro de dados ou uma matriz ao Analytics quando o script do R termina. Verifique se as colunas do quadro de dados ou matriz contêm apenas valores atômicos e não listas, matrizes ou objetos não atômicos. Se não for possível converter os valores em tipos de dados do Analytics, o comando falhará.
Mapeamento de dados do R
Os tipos de dados do Analytics são convertidos em tipos de dados do R usando um processo de tradução entre o projeto do Analytics e o script do R:
| Tipo de dados do Analytics | Tipo(s) de dados R |
|---|---|
| Lógico | Lógico |
| Numérico | Numérico |
| Caractere | Caractere |
| Datahora | Data, POSIXct, POSIXlt |
Desempenho e limites de tamanho de arquivo
O tempo que leva para executar seu script do R e processar os dados retornados aumenta para dados de entrada que ultrapassem 1 GB. O R não é compatível com arquivos de entrada de 2 GB ou mais.
O número de registros enviado para o R também afeta o desempenho. Para duas tabelas com o mesmo tamanho de arquivo, mas com contagem de registros diferente, o processamento da tabela com menos registros é mais rápido.
Processamento de dados de caracteres multibyte
Se você estiver enviando dados para o R em um conjunto de caracteres multibyte, como chinês, é preciso definir a localidade do sistema em seu script do R. Para enviar com sucesso uma tabela de dados multibyte para o R, a primeira linha do script do R deve conter esta função:
# Exemplo que define a localidade para chinesa
Sys.setlocale("LC_ALL","Chinese")
Para obter mais informações sobre Sys.setlocale( ), consulte a documentação do R.
Exemplo Olá, mundo
Comando do Analytics
RCOMMAND FIELDS "Olá"; ", mundo!" TO "resultado_r" RSCRIPT "C:\scripts\r_scripts\análise.r"
Script do R (análise.r)
srcTable<-acl.readData()
# criar tabela para enviar de volta ao ACL
output<-data.frame(
c(srcTable[1,1]),
c(srcTable[1,2])
)
# adicionar nomes de colunas e enviar tabela de volta ao ACL
colnames(output) <- c("Cumprimento","Assunto")
acl.output<-output
Executar um script do R
- No menu, selecione Analisar > R.
A caixa de diálogo RCOMMAND é exibida.
- Ao lado do campo Script do R, clique em Procurar e navegue até o script do R no seu computador que você quer executar.
- Clique em Selecionar campos e adicione um ou mais campos que serão incluídos no quadro de dados disponibilizado pelo Analytics no script do R.
Dica
Você também pode incluir expressões como campos no quadro de dados. Para criar uma expressão, clique em Expr e use as funções, campos e operadores disponíveis na caixa de diálogo. Para obter mais informações, consulte Visão geral do Construtor de expressões.
- Opcional. Na seção Opções do Rcommand, defina como você quer enviar os dados do Analytics para o script do R.
Para obter mais informações, consulte Opções do RCOMMAND.
- Opcional. Para filtrar os registros enviados para o script do R, clique em Se e use a caixa de diálogo Construtor de expressões para criar uma expressão condicional usada como filtro.
Para mais informações sobre como criar expressões usando o Construtor de expressões, consulte Criar expressões usando o Construtor de expressões.
- Para especificar a tabela de saída, clique em Para e, no campo Nome do arquivo, insira um nome para a tabela e o arquivo .FIL associado.
Use o explorador de pastas para navegar até a pasta em que você quer armazenar o arquivo de dados de origem.
Nota
Os nomes de tabela do Analytics são limitados a 64 caracteres alfanuméricos, sem contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome não pode começar com um número.
- Opcional. Na guia Mais da caixa de diálogo, especifique as opções de escopo para o comando.
Para obter mais informações, consulte Guia Mais.
- Para executar o comando, clique em OK.
Opções da caixa de diálogo RCOMMAND
Opções do RCOMMAND
| Opção | Descrição |
|---|---|
| Exportar com nomes de campo | Use os títulos de coluna da tabela do Analytics de origem como valores de cabeçalho para o quadro de dados do R. Essa opção define a opção KEEPTITLE no comando e é obrigatória se você quiser recuperar dados usando nomes de coluna no script do R. |
| Separador de colunas | O caractere a ser usado como separador entre campos ao enviar dados para o R. |
| Qualificador de Texto |
O caractere a ser usado como qualificador de texto para identificar valores de campo ao enviar dados para o R. |
Guia Mais
| Opção | Descrição |
|---|---|
| Tudo | Processa todos os registros na exibição (seleção padrão). |
| Primeiros | Processa a partir do primeiro registro na tabela e inclui apenas o número especificado de registros. |
| Próximo |
Processa a partir do registro selecionado na tabela e inclui apenas o número especificado de registros. Nota O número de registros especificados nas opções Primeiros ou Próximos faz referência à ordem física ou indexada de registros em uma tabela e desconsidera qualquer filtro ou ordenação rápida aplicada na exibição. Entretanto, resultados de operações analíticas respeitam qualquer filtro. Se uma exibição for ordenada rapidamente, Próximos se comporta como Primeiros. Cuidado Há um problema conhecido na versão com Next na execução de RCOMMAND. Evite usar essa opção, pois a referência do registro poderá ser redefinida para o primeiro registro, independentemente do registro selecionado. |
| Enquanto |
Usa uma instrução WHILE para limitar o processamento de registros na tabela principal com base em critérios. Os registros na exibição são processados somente enquanto a condição especificada avaliar como verdadeiro. Assim que a condição avaliar como falso, o processamento será encerrado e nenhum outro registro será considerado. Para obter mais informações, consulte Criar expressões usando o Construtor de expressões. |