[R-br] Vetor de caracter como objeto em um pacote

Jose Claudio Faria joseclaudio.faria em gmail.com
Domingo Setembro 22 06:58:15 BRT 2013


Pessoal,

Estou tentando eliminar a necessidade do script de inicialização no
arquivo "etc/Rprofile.site" do R para uso com o editor Tinn-R. Contudo
estou com uma dúvida que não estou conseguindo contornar e a
comunidade talvez possa ajudar.

Se coloco o script abaixo no arquivo de inicialização (Rprofile.site)
funciona perfeitamente:

trPaths <- paste(paste(Sys.getenv('APPDATA'),
                       '\\Tinn-R\\tmp\\',
                       sep=''),
                 c('',
                   'search.txt',
                   'objects.txt',
                   'file.r',
                   'selection.r',
                   'block.r',
                   'lines.r',
                   'reformat-input.r',
                   'reformat-output.r'),
                 sep='')

> trPaths
[1] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\"
[2] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\search.txt"
[3] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\objects.txt"
[4] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\file.r"
[5] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\selection.r"
[6] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\block.r"
[7] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\lines.r"
[8] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\reformat-input.r"
[9] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\reformat-output.r"

Se crio um ambiente e coloco as funções nele no arquivo Rprofile.site,
tambén funciona perfeitamente:
# Package in development: TinnRcom
library(utils)
old.path <- getwd()

# New version of TinnRcom package
TinnRcom <- new.env()
setwd('C:/Users/jcfaria/Desktop/pkgs/TinnR_new/R/')
source('trArgs.R', local=TinnRcom)
source('trComplete.r', local=TinnRcom)
source('trCopy.R', local=TinnRcom)
source('trExport.data.frame.R', local=TinnRcom)
source('trExport.default.R', local=TinnRcom)
source('trExport.matrix.R', local=TinnRcom)
source('trExport.R', local=TinnRcom)
source('trObjList.R', local=TinnRcom)
source('trObjSearch.R', local=TinnRcom)
source('trStartIDE.R', local=TinnRcom)
source('trPaths.R', local=TinnRcom)
setwd(old.path)
attach(TinnRcom)

> trPaths
[1] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\"
[2] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\search.txt"
[3] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\objects.txt"
[4] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\file.r"
[5] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\selection.r"
[6] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\block.r"
[7] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\lines.r"
[8] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\reformat-input.r"
[9] "C:\\Users\\jcfaria\\AppData\\Roaming\\Tinn-R\\tmp\\reformat-output.r"

O problema que não estou conseguindo cotornar é ao colocar no novo
pacote (TinnRcom):
trPaths <- paste(paste(Sys.getenv('APPDATA'),
                       '\\Tinn-R\\tmp\\',
                       sep=''),
                 c('',
                   'search.txt',
                   'objects.txt',
                   'file.r',
                   'selection.r',
                   'block.r',
                   'lines.r',
                   'reformat-input.r',
                   'reformat-output.r'),
                 sep='')

na pasta "R" do pacote (juntamente com as funções) e declarar no
NAMESPACE assim:

export(trPaths)

Quando o pacote TinnRcom é carregado via

> library(TinnRcom)

o objeto trPaths não fica correto. Fica como abaixo:
> trPaths
[1] "\\Tinn-R\\tmp\\"                  "\\Tinn-R\\tmp\\search.txt"
[3] "\\Tinn-R\\tmp\\objects.txt"       "\\Tinn-R\\tmp\\file.r"
[5] "\\Tinn-R\\tmp\\selection.r"       "\\Tinn-R\\tmp\\block.r"
[7] "\\Tinn-R\\tmp\\lines.r"           "\\Tinn-R\\tmp\\reformat-input.r"
[9] "\\Tinn-R\\tmp\\reformat-output.r"

ou seja, a parte

Sys.getenv('APPDATA')

não é interpretada.

Alguém teria alguma dica?
-- 
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Jose Claudio Faria
Estatistica
UESC/DCET/Brasil
joseclaudio.faria at gmail.com
Telefones:
55(73)3680.5545 - UESC
55(73)9100.7351 - TIM
55(73)8817.6159 - OI
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\


Mais detalhes sobre a lista de discussão R-br