Como definir o local do arquivo atual como o diretório de trabalho padrão na programação R?
Quero tornar o local do arquivo atual como o diretório de trabalho.
Usando o Rstudio (Works!):
# Author : Bhishan Poudel
# Program : writehere.r
# Source : Rscript writehere.r
# set working directory here
this.dir <- dirname(parent.frame(2)$ofile) # frame(3) also works.
setwd(this.dir)
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
#This works flawlessly in MacOS 10.9 and Ubuntu 15.1.
Usando Command a partir do terminal: Rscript writehere.r (Não funciona!)
Error in dirname(parent.frame(2)$ofile) :
a character vector argument expected
Execution halted
------------------
(program exited with code: 1)
Usando Command do terminal: Rscript writehere.r (Funciona agora!)
# Author : Bhishan Poudel
# Program : writehere.r
# Source : Rscript example.r
# set working directory here
this_dir <- function(directory)
setwd( file.path(getwd(), directory) )
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
Usando a função dentro de ~ / .Rprofile for Rstudio (Works!):,
##############################################
# inside ~/.Rprofile
# set up working directory
setwd_thisdir <- function () {
this.dir <- dirname(parent.frame(3)$ofile)
setwd(this.dir)
}
##############################################
Então, em qualquer diretório, digamos que eu tenho um arquivo writehere.r, agora funciona.
# Author : Bhishan Poudel
# Program : writehere.r
# Compile : Rscript writehere.r
# set working directory here
setwd_thisdir
# Sample data to test this code
mydata <- seq(1:10)
write.csv(mydata,"writehere.dat")
Pergunta, questão: Por que a função
this.dir <- dirname(parent.frame(2)$ofile) # ,frame(3) also works.
setwd(this.dir)
não funciona para editores de texto que não sejam o Rstudio?
Alguns links úteis são os seguintes:
R definindo o diretório de trabalho para o local do arquivo de origem?
Comando R para configurar o diretório de trabalho no local do arquivo de origem
obter o nome do arquivo e o caminho do arquivo `source`d
setwd () no diretório de trabalho atual
Comando para "Definir diretório de trabalho no local do arquivo de origem"
SublimeText e R: definindo o diretório de arquivos atual
Configurando o diretório de trabalho através de uma função
O que é uma maneira infalível de definir permanentemente o diretório de trabalho do R?
R definindo o diretório de trabalho para o local do arquivo de origem?
Como entrar no diretório de um arquivo no R?